Php 复杂查询-获得推荐最多的人
我正在尝试进行某种SQL查询,其中我只得到10个推荐最多的人,但至少有1个推荐 我的桌子看起来像这样:Php 复杂查询-获得推荐最多的人,php,mysql,Php,Mysql,我正在尝试进行某种SQL查询,其中我只得到10个推荐最多的人,但至少有1个推荐 我的桌子看起来像这样: CREATE TABLE IF NOT EXISTS `beta_list` ( `id` int(10) NOT NULL AUTO_INCREMENT, `email` varchar(250) NOT NULL, `referrer` int(10) NOT NULL, `referral_code` int(10) NOT NULL, UNIQUE KEY `id`
CREATE TABLE IF NOT EXISTS `beta_list` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`email` varchar(250) NOT NULL,
`referrer` int(10) NOT NULL,
`referral_code` int(10) NOT NULL,
UNIQUE KEY `id` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
SELECT
email,
referral_code as refcode,
(SELECT COUNT(*) FROM beta_list WHERE referrer=refcode) as referrals
FROM
beta_list
WHERE
referrals > 0
ORDER BY
referrals DESC
LIMIT
10
我试过这样的方法:
CREATE TABLE IF NOT EXISTS `beta_list` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`email` varchar(250) NOT NULL,
`referrer` int(10) NOT NULL,
`referral_code` int(10) NOT NULL,
UNIQUE KEY `id` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
SELECT
email,
referral_code as refcode,
(SELECT COUNT(*) FROM beta_list WHERE referrer=refcode) as referrals
FROM
beta_list
WHERE
referrals > 0
ORDER BY
referrals DESC
LIMIT
10
但它只是说“where子句”中的未知列“references”
我不是sql大师,我只是刚刚开始学习更复杂的sql查询,所以对于如何实现类似的功能,我将不胜感激
干杯 尝试此操作-添加外部查询以从内部查询提取结果-
select ref.email, ref.refcode, ref.referrals from
(
SELECT
email,
referral_code as refcode,
(SELECT COUNT(*) FROM beta_list WHERE referrer=refcode) as referrals
FROM
beta_list
) as ref
WHERE
ref.referrals > 0
ORDER BY
ref.referrals DESC
LIMIT
10
试一试:
SELECT email,referral_code as refcode,count(*) as referrals
FROM beta_list
WHERE referrer = referral_code
GROUP BY email,referral_code
ORDER BY referrals DESC
LIMIT 10;
参考代码、推荐和电子邮件之间有什么关系。多做一点生意会有很大帮助。太棒了!非常好用,非常感谢:)!(需要等待2分钟才能接受答案)