1

在表中我有一个字段:必须是 1、2 或 3 的位置。我需要提取所有记录,但如果位置是 1,如果位置是 2,我需要从 2 到最后的记录,如果位置是 3,我需要从 2 到最后的记录我需要从 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
)
4

1 回答 1

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
于 2013-05-09T18:19:35.790 回答