在表格中我有一个字段:位置必须是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
)
答案 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