Mysql查询结果有限

时间:2013-04-03 17:23:32

标签: mysql limit

在表格中我有一个字段:位置必须是1,2或3.我需要提取所有记录但是 如果位置是1,我需要从2到最后的记录 如果位置是2我需要从2到最后的记录 如果位置是3我需要记录从13到最后 我尝试但不工作,我不确定这是正确的方法:

(
SELECT * FROM articoli
WHERE posizione = 1  
ORDER BY datapubb DESC 
LIMIT 2 , 5000
)

UNION

(
SELECT * FROM articoli
WHERE posizione = 2  
ORDER BY datapubb DESC 
LIMIT 3 , 5000
)

UNION

(
SELECT * FROM articoli
WHERE posizione = 3
ORDER BY datapubb DESC 
LIMIT 13 , 5000
)

1 个答案:

答案 0 :(得分:0)

我已经解决了这个问题:

SELECT 
    *
FROM
    (SELECT 
        idarticoli, titolo, posizione, pubblicato, datapubb
    FROM
        jaretene_news.articoli
    WHERE
        posizione = 1 AND pubblicato = 1
    LIMIT 1 , 5840) AS q 
UNION ALL SELECT 
    *
FROM
    (SELECT 
        idarticoli, titolo, posizione, pubblicato, datapubb
    FROM
        jaretene_news.articoli
    WHERE
        posizione = 2 AND pubblicato = 1
    LIMIT 3 , 5840) AS r 
UNION ALL SELECT 
    *
FROM
    (SELECT 
        idarticoli, titolo, posizione, pubblicato, datapubb
    FROM
        jaretene_news.articoli
    WHERE
        posizione = 3 AND pubblicato = 1
    LIMIT 8 , 5840) AS s
ORDER BY datapubb DESC