mise à jour p>
juste pour être plus clair: j'ai besoin d'avoir Sélectionnez * à partir de l'utilisateur code> renvoie 75 utilisateurs. Est-il possible de sélectionner le 1er utilisateur et 75e utilisateur sans faire alors que ($ rang = mysql_fetch_assoc ($ résultat)) code> ?? et comment? p>
Select * code> car j'ai besoin du premier et du 75ème utilisateur avant que je ne fasse tandis que mysql_fetch_assoc code> donc ASC, DESC, Limiter code> Les réponses non requises. P>
6 Réponses :
$result = mysql_query('SELECT * from User');
mysql_data_seek($result, 1);
$row1 = mysql_fetch_assoc($result);
mysql_data_seek($result, 75);
$row75 = mysql_fetch_assoc($result);
Merci mais j'ai besoin de tous les autres résultats. J'ai besoin de prendre des mesures à 1er et à d'autres dossiers avant que je passe à travers. Voir pdate.
Si vous pouvez trier, vous pouvez.
Select * from User order by [something] desc limit 1
Bonne solution si vous avez des numéros différents de résultats! Bonne idée.
SELECT um.SortOrder, u.*
FROM Users u
INNER JOIN (
SELECT 1 AS SortOrder, MIN(UserID) AS UserID FROM Users
UNION ALL SELECT 2, MAX(UserID) FROM Users
) um ON um.UserID = u.UserID
UNION ALL
SELECT 3 AS SortOrder, u.*
FROM Users u
LEFT OUTER JOIN (
SELECT MIN(UserID) AS UserID FROM Users
UNION ALL SELECT MAX(UserID) FROM Users
) um ON um.UserID = u.UserID
WHERE um.UserID IS NULL
ORDER BY
SortOrder
En supposant que vous avez «ID» comme clé primaire et que vous avez besoin du dernier (pas le 75ème), vous pouvez essayer quelque chose comme:
Eh bien, le titre de votre question est un peu différent de l'explication que vous avez donnée.
Je le dis parce que vous souhaitez sélectionner la première et la dernière ligne, il peut être différent de sélectionner la 1ère et la 75e rangée COS au cas où les lignes augmentent ou diminuent, le dernier pourrait ne pas être la 75ème rangée. P>
Pour répondre à la partie de la première et dernière ligne, je pense que vous pouvez le faire. p> Cette requête fonctionnera bien dans l'espoir que les utilisateurs sont commandés par ID. P> Mais si vous parlez de la 1re et de la 75ème rangée, puis Je vais m'installer avec la réponse de @ Saul. P> J'espère que cela aide. p> p>
SELECT (SELECT column FROM table WHERE [condition] ORDER BY column LIMIT 1) as 'first', (SELECT column FROM table WHERE [condition] ORDER BY column DESC LIMIT 1) as 'last'
Sélectionnez ... où id in (1,75) code>?Et si cela ne reçoit pas toujours 75 utilisateurs, vous devrez probablement exécuter deux questions, car vous ne saurez pas combien il y a la première fois ... Sauf s'il est possible de faire
comptage limite (*) - 1, 1 code>? Probablement pas.