【发布时间】:2014-12-11 18:13:10
【问题描述】:
我有问题。
SELECT * FROM '.PRFX.'sell
WHERE draft = "0" '.$e_sql.'
AND ID NOT IN (SELECT id_ FROM '.PRFX.'skipped WHERE uid = "'.$u.'")
AND ID NOT IN (SELECT id_ FROM '.PRFX.'followed WHERE uid = "'.$u.'")
ORDER BY raised DESC '.$sql_limit;
我想以最少的刷新次数添加 3 条记录;最佳第五名
它们必须是唯一的(所以如果你连接两个 UNION ALL...)
【问题讨论】:
-
不,我没喝醉。
SELECT DISTINCT * (SELECT * FROM '.PRFX.'sell WHERE draft = "0" '.$e_sql.' AND ID NOT IN (SELECT id_ FROM '.PRFX.'skipped WHERE uid = "'.$u.'") AND ID NOT IN (SELECT id_ FROM '.PRFX.'followed WHERE uid = "'.$u.'") ORDER BY raised DESC '.$sql_limit;) UNION ALL (SELECT * FROM '.PRFX.'sell WHERE draft = "0" '.$e_sql.' AND ID NOT IN (SELECT id_ FROM '.PRFX.'skipped WHERE uid = "'.$u.'") AND ID NOT IN (SELECT id_ FROM '.PRFX.'followed WHERE uid = "'.$u.'") ORDER BY refreshes ASC LIMIT 3)但如何让它发挥作用? -
我想出了:#
$sql = '(SELECT * FROM '.PRFX.'sell WHERE draft = "0" '.$e_sql.' AND ID NOT IN (SELECT id_ FROM '.PRFX.'skipped WHERE uid = "'.$u.'") AND ID NOT IN (SELECT id_ FROM '.PRFX.'followed WHERE uid = "'.$u.'") ORDER BY raised DESC '.$sql_limit.') UNION (SELECT * FROM '.PRFX.'sell WHERE draft = "0" '.$e_sql.' AND ID NOT IN (SELECT id_ FROM '.PRFX.'skipped WHERE uid = "'.$u.'") AND ID NOT IN (SELECT id_ FROM '.PRFX.'followed WHERE uid = "'.$u.'") ORDER BY refreshes ASC LIMIT 3)';,但它会引发重复。 -
嗯。剥离你的代码。 “PRFX。”没有意义。这段 SQL 代码很难理解(对我来说)为什么要添加 SELECT 请求?