Maison > Questions et réponses > le corps du texte
J'exécute une requête SELECT pour obtenir des données de MySQL
SELECT MIN(datetime) as created, MAX(datetime) as updated, COUNT(CASE WHEN type = 'update' AND contact_name <> 'System' THEN 1 END) as replies, COUNT(CASE WHEN type = 'update' AND (contact_name * 1 = contact_name) THEN 1 END) as customer_replies
Et ça marche bien, mais je veux aussi obtenir la rangée suivante MIN(datetime)
après
Est-il possible de faire ça comme MIN()+1
?
P粉8055354342023-09-08 11:38:19
Voici une solution qui donne la deuxième plus petite valeur :
SELECT MIN(datetime) as created_second_minimum FROM TableName ORDER BY datetime LIMIT 1,1;
Lorsque nous utilisons LIMIT n, il renvoie les n premières lignes, et lorsque nous utilisons LIMIT n,m, il renvoie m lignes après la nième ligne (à l'exclusion de la nième ligne). Dans notre cas, il ne renvoie pas la première ligne, mais uniquement la deuxième ligne. Puisque nous avons classé la requête par date/heure, la deuxième ligne est la deuxième plus ancienne.