繁体   English   中英

如何将 select 列与偶数 ID 编号?

[英]How to select columns with an even ID number?

我正在尝试解决如下所述的 Hackerrank 问题Weather Observation Station 3

在此处输入图像描述

我想出了以下解决方案:

SELECT CITY
FROM STATION
WHERE MOD(ID, 2) = 0

但是当我尝试运行它时,我收到编译器消息“错误答案”。 我不明白这个查询有什么问题?

SELECT DISTINCT CITY
FROM STATION
WHERE MOD(ID, 2) = 0

你可以试试这个查询:

SELECT DISTINCT CITY FROM STATION WHERE (ID % 2) = 0 

对于 DB2:- SELECT DISTINCT CITY FROM STATION

哪里 MOD(ID, 2) = 0;

对于 Oracle:- 从车站中选择不同的城市

哪里 MOD(ID, 2) = 0;

对于 MySQL:- SELECT DISTINCT CITY FROM STATION WHERE MOD(ID, 2) = 0; -- 或 -- 从车站选择不同城市

其中 ID%2=0;

对于 MSSQL:- SELECT DISTINCT CITY FROM STATION

WHERE ID%2=0;

SELECT distinct CITY FROM STATION
WHERE MOD(ID,2)=0;

MYSQL:

SELECT DISTINCT CITY FROM STATION WHERE (ID % 2)=0;

甲骨文:

SELECT DISTINCT CITY FROM STATION WHERE MOD(ID, 2)=0;

从车站选择唯一城市,其中 MOD(ID,2)=0;

SELECT DISTINCT CITY FROM STATION WHERE (ID % 2) = 0;

区别于不允许重复,(Id % 2) 告诉 SQL 将 Id 除以 2 并返回余数。 由于我们只查找偶数值,因此我们将其设置为“= 0”,如 2%2=0、4%2=0 等。如果我们要查找奇数 ID,我们将使用“= 1” " 相反,因为在将奇数除以 2 时总是有 1 的余数。希望这会有所帮助!

在 MySql 中,你可以这样做:

SELECT DISTINCT CITY FROM STATION WHERE (ID % 2)=0 ORDER BY CITY ;

如果问题是“仅使用偶数 ID 号从 STATION 查询城市名称列表”,那么答案将是

select CITY from station where ID % 2 = 0;

但是由于诸如“但必须从您的答案中排除重复项”之类的进一步标准。 你的答案应该是

select DISTINCT CITY from station where ID % 2 = 0;

我建议另一种解决方案:

    SELECT DISTINCT CITY
    FROM STATION
    WHERE ID LIKE '%0' OR ID LIKE '%2' OR ID LIKE '%4' OR ID LIKE '%6' OR ID LIKE '%8';

在 MSSQL 中:

SELECT CITY
FROM STATION
WHERE (ID % 2) = 0
GROUP BY CITY 

在 MYSQL 查询中

    select distinct city from station where (ID % 2)=0;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM