使用MySQL和我应该返回缺席人数和他们的名字。我为所有的学生做了一个查询,并减去了那天出现的学生的子查询。
在1次查询中甚至可以这样做吗?我知道如何使用两个单独的语句,它们返回不同大小的语句,所以我不确定它们是否兼容。
姓名清单:
select distinct name
from submissions join hacker
on submissions.hacker_id=hacker.hacker_id
where name not in
(
select distinct name
from submissions join hacker
on submissions.ha
下面是我的SQL查询: select hck.hacker_id, hck.name, cnt
from (
Hacker as hck
inner join (
Select hacker_id, count(challenge_id) as cnt
from Challenges
group by hacker_id
) chl_count on hck.hacker_id = chl_count.hacker_id
) having cnt = max(cnt) or
cnt in (select cnt
我不明白这个条款是什么意思:
cn = (select count(c1.challenge_id) from challenges as c1
group by c1.hacker_id
order by count(c1.challenge_id) desc limit 1) "?
整个SQL:
select c.hacker_id, h.name, count(c.challenge_id) as cn
from challenges as c join hackers as h
on c.hacker_id = h.hacker_id
group by c.hacker_i
我的问题如下:
黑客的总得分是他们在所有挑战中的最大得分之和。编写一个查询,以打印黑客的hacker_id、姓名和总分。
如果多个黑客获得相同的总分,则通过升序hacker_id对结果进行排序。
将所有得分为0的黑客排除在你的结果之外。
这两个表如下:
表:骇客
========================================
hacker_id: Integer (ID of the hacker)
name: String (Name of the hacker)
========================================
表:提交的
====
问题的链接:
Select h.hacker_id, h.name, COUNT(DISTINCT c.Challenge_id) as Cnt from Hackers h
INNER JOIN Challenges c ON h.Hacker_id = c.Hacker_id Having
Cnt = (Select COUNT(DISTINCT Challenge_id) as c_cmp from Challenges
group by Hacker_id order by c_cmp desc LIMIT 1)
OR
Cnt IN
我必须从黑客那里得到名字和hacker_id,在至少两个或更多的挑战中获得满分。这是我的代码和我一直得到的错误代码,但是我不知道下一步该做什么来纠正它。
SELECT DISTINCT hacker_id, name
FROM hackers
WHERE hacker_id in
(SELECT s.score, hacker_id
FROM submissions as s
INNER JOIN
difficulty as d
on s.score=d.score
GROUP BY hacker_id
HAVING count(hacker_id)>1) a
我想打印每个学生创建的挑战的hacker_id、名称和总数。按挑战总数降序对结果排序。如果多个学生创建了相同数量的挑战,则按hacker_id对结果进行排序。如果多个学生创建了相同数量的挑战,并且计数小于创建的最大挑战数量,则从结果中排除这些学生。
黑客表
挑战表
我已经尝试过这个查询
SELECT b.hacker_id
,a.name
,count(b.hacker_id)
FROM hackers AS a
INNER JOIN challenges AS b ON b.hacker_id = a.hacker_id
GROUP BY b.hacker_i
我正在尝试在sqlfiddle上创建并插入2个表。
CREATE TABLE IF NOT EXISTS `Submissions` (
`sub_id` int(6) unsigned NOT NULL,
`hacker_id` int(3) unsigned NOT NULL,
`score` int(3) NOT NULL,
`sub_date` Date NOT NULL,
PRIMARY KEY (`sub_id`,`hacker_id`)
) DEFAULT CHARSET=utf8;
INSERT INTO `Submissions` (`sub_id`, `
对于以下sql命令
select h.hacker_id
,h.name
,challenges_created
from hackers h
inner join (
select hacker_id
,count(*) as challenges_created /* line 1 */
from challenges
group by hacker_id
order by 2 desc
) tmp on h.hacker_id = tmp.hacker_id
order by challenges_created d
我有以下问题:
SELECT
COUNT(*)
FROM
(SELECT
h2.hacker_id, COUNT(c2.challenge_id) AS co
FROM
hackers h2
INNER JOIN
challenges c2 ON h2.hacker_id = c2.hacker_id
GROUP BY
h2.hacker_id
HAVING
COUNT(c2.challenge_id) = 1)
但是,我的查询不能很
With Joined as(Select s.hacker_id, s.score as _score, difficulty_level, s.challenge_id from Submissions s INNER JOIN Challenges ch ON s.challenge_id = ch.challenge_id),
Joined_2 as (Select j.hacker_id, COUNT(DISTINCT j.challenge_id) as cnt from Joined j INNER JOIN Difficulty d ON j.difficulty_level
我在网上找到了一个的解决方案
SELECT c.hacker_id, h.name, COUNT(c.challenge_id) AS cnt
FROM Hackers AS h
JOIN Challenges AS c ON h.hacker_id = c.hacker_id
GROUP BY c.hacker_id, h.name
HAVING
cnt = (SELECT COUNT(c1.challenge_id) FROM Challenges AS c1 GROUP BY c1.hacker_id ORDER BY COUNT(*) DESC LIMIT 1) OR
我正在执行一项在Server中完成的任务,因为这是我在新工作中使用的语言。我完成了如下的查询:
SELECT
h.hacker_id, h.name, sum(scr) AS tot
FROM
hackers AS h
JOIN
(SELECT
s2.hacker_id, s2.challenge_id, max(s2.score) AS scr
FROM
submissions s2
GROUP BY
s2.hacker_id, s2.challenge_id
HAVING
给定输入有4行,我应该找出有多少行有文字黑客
4
I love #hacker
I just scored 27 points in the Picking Cards challenge on #Hacker
I just signed up for summer cup @hacker
interesting talk by hari, co-founder of hacker
答案是4,但我得到的是0。
int main() {
int count = 0,t;
cin >> t;
string s;
bool ans;
while(t
我正在使用MySQL,目前正试图理解一段代码是如何工作的。这是关于的。问题陈述如下
朱莉娅让她的学生创造一些编码挑战。编写一个查询,以打印hacker_id、名称和每个学生创建的挑战总数。将结果按挑战总数按降序排序。如果不止一个学生创造了相同数量的挑战,那么按hacker_id对结果进行排序。如果多个学生创建了相同数量的挑战,且数量少于所创建的最大挑战数,则将这些学生排除在结果之外。
我找到了一个工作的MySQL解决方案,它使用以下代码:
SELECT c.hacker_id, h.name, COUNT(c.challenge_id) AS cnt
FROM Hackers AS
如何编写此查询以仅过滤大于50的总和?我不能用having或sum来解决这个问题,但我相信一定会有办法的。 select name, sum(score)
from submissions inner join hacker on submissions.hacker_id = hacker.hacker_id
group by submissions.hacker_id
order by sum(score) desc
having sum(score) > 50 在这里摆弄表格(没有什么不寻常的,这个查询没有最后一行,但返回每个人的分数和姓名):
这是练习:迭代1:名称和输入1.1创建一个带有驱动程序名称的变量hacker1。
1.2打印"The driver's name is XXXX"。
创建一个具有导航器名称的变量hacker2。
1.4打印"The navigator's name is YYYY"。迭代2:条件符2.1。根据哪个名称更长,打印:
驱动程序有最长的名称,它有XX个字符。或者,它看起来导航器有最长的名称,它有XX个字符。或者Wow,你们都有同样长的名字,XX
迭代3:循环3.1打印驱动程序名称的所有字符,以空格分隔,以大写形式表示。"J O H N“
3.
编写一个查询,以打印hacker_id、名称和每个学生创建的挑战总数。将结果按挑战总数按降序排序。如果不止一个学生创造了相同数量的挑战,那么按hacker_id对结果进行排序。如果多个学生创建了相同数量的挑战,且数量少于所创建的最大挑战数,则将这些学生排除在结果之外。
我还附上了相应表格的图片。
表黑客:
hacker_id name
5077 Rose
21283 Angela
62743 Frank
88255 Patrick
96196 Lisa
表挑战
challenge_id hacker_id
61654 5077
我的SQL查询是: with temp1 (hacker_id, chlng_cnt) as
(
select hacker_id, count(challenge_id) as chlng_cnt
from Challenges
group by hacker_id
); 其中,表Challenges具有此模式: Challenges(hacker_id, challenge_id) 我没有看到我的查询有任何错误,我使用了select关键字。那么为什么我会得到这个错误呢?
我试图解决这个挑战,但我尝试了几种方法来使我的逻辑工作,但我无法理解为什么我的group by function不能在这里工作。任何关于这方面的帮助都非常感谢,如果下面的信息不够好,请告诉我。这里是挑战的链接,下面是我的代码。
select count(sub.hacker_id), hacker.name from submissions sub
inner join challenges challenge on challenge.challenge_id=sub.challenge_id
inner join difficulty difficult on difficult.di
我正在尝试学习MySQL中CTE背后的直觉。我真正想了解的是如何创建嵌套查询。例如,我试着运行这段代码,我得到一个语法错误-
WITH cte AS
(
SELECT h.hacker_id, s.challenge_id, s.max_score FROM Hackers h
INNER JOIN (
SELECT hacker_id, challenge_id, max(score) as max_score FROM Submissions
GROUP BY hacker_id, challenge_id
) s ON h.hacker_id=s.hacke
我有两张桌子,一张写着黑客学生的名字,另一张写着他们提出的挑战。我需要返回黑客的身份、姓名和挑战数量,例如:
hacker_id name challenges_created
21283 Angela 6
88255 Patrick 5
5077 Rose 4
62743 Frank 4
96196 Lisa 1
但是,如果不止一个黑客制造了相同数量的挑战,而这个数字比那些发起挑战最多的黑客少,那么这些黑客就必须被排除在结果之外。在这种情况下,必须排除4s。我在网
我正在尝试解决。我们有两个表,一个名为Hackers,包含列hacker_id和name,另一个名为Submissions,包含列submission_date、submission_id、hacker_id和score。
我提交的一个用于解决挑战的查询是:
SELECT es.date, es.count, m.hacker_id, m.name, m.score
FROM
(
SELECT submission_date as date, COUNT(hacker_id) as count
FROM (
SELECT submission_date, C
朱莉娅刚刚完成了一个编码比赛,她需要你的帮助来组装领导板!编写一个查询,打印各自的hacker_id和黑客的名字,这些黑客在一次以上的挑战中获得了满分。按照黑客获得满分的挑战总数按降序排列您的输出。如果一个以上的黑客在相同数量的挑战中获得满分,那么通过升序hacker_id对它们进行排序。
我的解决方案行不通:
SELECT h.hacker_id, h.name
FROM Hackers h
JOIN Challenges c
ON h.hacker_id = c.hacker_id
JOIN Difficulty d
ON c.difficulty_level = d.difficult
我想用java编写一个具有默认参数的函数,但是如果我将值传递给这些参数,那么它应该使用这些值来代替那些默认参数。我知道如何用Python编写函数。但我希望在Java中实现完全相同的函数(或方法)。
这是示例python代码
def myFunc(name, std = 3, rollNo = 61, branch = "CSE"):
print("My name is %s, I read in class %d, my roll no is %d, my branch is %s" %(name,
我试图通过使用子查询来解决这个问题,我不知道我的代码中有什么语法错误。 select h.hacker_id, h.name from hackers
join (
select s.submission_id, s.hacker_id, s.score, d.score
from submissions s
join challenges c on c.challenge_id = s.challenge_id and
找到每天至少提交的独立黑客的总数(从比赛的第一天开始),并找到每天提交最多的黑客的hacker_id和名称。如果多个此类黑客的提交数达到最大值,则打印最低的hacker_id。查询应打印比赛每一天的此信息,并按日期排序。
以下是示例数据: Hackers表:
15758 Rose
20703 Angela
36396 Frank
38289 Patrick
44065 Lisa
53473 Kimberly
62529 Bonnie
79722 Michael
Submissions table:
Submission_date submission_id h
我有一个疑问:
select
hacker_id, name
from
hacker_t
where
hacker_id in (select hacker_t.hacker_id, count(hacker_t.score));
这个(select hacker_t.hacker_id, count(hacker_t.score) ...)返回这个结果集:
hacker_id cha
-----------------
7 2
所以,我只想
select hacker_id, name
from hacker_t
where
我已经找出了那些在不同难度的挑战中获得满分的人。然而,这个问题指出,查询hacker_id和获得满分不止一次的人的姓名。我遇到了伯爵的问题。我试着数一数表中出现的名字的频率,但它不允许我这样做。我怀疑GROUPBY语法有问题。有人能帮我吗?
以前的代码
Select s.challenge_id,s.hacker_id,h.name,s.submission_id,c.difficulty_level,s.score
FROM (((Hackers AS h JOIN Submission AS s ON h.hacker_id=s.hacker_id)JOIN Challenges AS c