0
votes

Comment puis-je obtenir les 10 premières lignes d'une base de données?

Je veux choisir un ID dans une table, triez-le par date et afficher uniquement le 10 nouvelles entrées.

J'ai déjà essayé de suivre la commande suivante: xxx


1 commentaires

Bonjour Melvin, bienvenue à Stackoverflow. Pouvez-vous expliquer exactement ce que vous voulez? Vous parlez d'une table mais votre commande SQL a 2 tables! Pouvez-vous donner un exemple avec des données sur 2 tables et ce que vous attendez?


3 Réponses :


3
votes

On dirait que vous souhaitez filtrer, tri et limitation:

select *
from weather
where id = 0          -- filter on the given "id"
order by datum desc   -- sort by most recent date
limit 10              -- keep the 10 most recent only


0 commentaires

0
votes
SELECT TOP 10 *
FROM weather
WHERE DATUM = (SELECT MAX(DATUM)
               FROM orders
               WHERE ID='0')
order by DATUM DESC

0 commentaires

0
votes

J'espère que cela pourrait aider n'importe qui.

Cette question associée à n'importe quelle gamme de date et de temps spécifiquement. Donc, vous pouvez facilement personnaliser pour votre application. P>

/* mySQL doesn't permit to use limit clause on sub query at where clause statement.
   Therefore we are using join clause as an alternative.
*/

select w.*
from weather w
inner join (
    select min(DATUM) fromDate, max(DATUM) toDate
    from (
        select DATUM from ORDERS where ID = '0'
        order by DATUM desc limit 10
    ) t
) o
on w.DATUM between o.fromDate and o.toDate
order by w.DATUM desc

/* Transaction table with limited rows option */

select w.*
from weather w
inner join (
    select min(DATUM) fromDate, max(DATUM) toDate
    from orders where ID = '0'
) o
on w.DATUM between o.fromDate and o.toDate
order by w.DATUM desc limit 10


0 commentaires