在我正在创建的系统上工作时,我试图在我的项目中使用以下查询:
SELECT
topics.id,
topics.name,
topics.post_count,
topics.view_count,
COUNT( posts.solved_post ) AS solved_post,
(SELECT users.username AS posted_by,
users.id AS posted_by_id
FROM users
WHERE users.id = posts.posted_by)
FROM topics
LEFT OUTER JOIN posts ON posts.topic_id = topics.id
WHERE topics.cat_id = :cat
GROUP BY topics.id
Run Code Online (Sandbox Code Playgroud)
":cat"由我的PHP代码绑定,因为我正在使用PDO.2是":cat"的有效值.
该查询虽然给我一个错误:"#1241 - 操作数应包含1列"
让我感到困惑的是,我认为这个查询没有问题.选择列,然后从另一个表中再选择两个,然后从那里继续.我只是无法弄清楚问题是什么.
是否有一个简单的解决方法,或其他方式来编写我的查询?
我有一个问题
SELECT DISTINCT phoneNum
FROM `Transaction_Register`
WHERE phoneNum NOT IN (SELECT phoneNum FROM `Subscription`)
LIMIT 0 , 1000000
Run Code Online (Sandbox Code Playgroud)
执行b/c Transaction_Register表需要太多时间有数百万条记录是否有任何上述查询的替代方案我会感激你们,如果有的话.
我有两张桌子.一个是用户,其中包含字段uid和名称.另一个表是users_roles,其中包含字段uid和rid(role id).
我想要检索没有任何一组提供的角色的用户列表.
例如:
uid | name
----------
1 | BOB
2 | DAVE
3 | JOHN
Run Code Online (Sandbox Code Playgroud)
USERS_ROLES:
uid | rid
---------
1 | 1
1 | 2
1 | 3
2 | 1
3 | 1
Run Code Online (Sandbox Code Playgroud)
我希望能够只查询没有一组rids的用户.例如,排除rid 2和3的查询应该返回DAVE和JOHN,或者排除rids(1,3)的查询应该返回nobody.