我有一个包含人名和年龄的sql表。
Bob 28
Bryan 30
Jim 25
John 42
Bill 22
Sam 28
Tom 26
我想做一个sql命令,根据年龄对所有人进行排序,在其中找到一个名字,返回前一个人,成立的人和下一个人的位置。
例如,承认我想找到Tom,我的请求应该返回:
Name Age Rank
Jim 25 2
Tom 26 3
Bob 28 4
吉姆是2号,因为比尔是最小的。
有可能做这样的事情吗?
提前感谢您的帮助
我创建了下面的表。
create table man(id integer, name varchar(20), city varchar(20), age integer)
我想找出年龄最大的人的名字。
因此,我运行了以下查询,
select name, max(age) from man group by name;
它按年龄升序显示所有人的姓名。哪里出了问题?
下面列出了一个名为PEOPLE (Sex,Age,Weight)的表:
Sex Age Weight
M 10 81
F 21 146
M 32 179
F 40 129
F 58 133
我希望从年龄<35岁的人群中返回以下数据(性别、年龄、体重、计数(*)作为SexCount ):
Sex Age Weight SexCount
M 10 81 2
F 21 146 3
M 32 179 2
如果我想返回表中的所有人(),我已经找到了有效的答案。
但是,如果我希望SexCount包括整个table...
我试图在pgadmin3中执行一条执行以下操作的SQL语句:
如果具有特定名称和年龄的学生已经存在,则获取student_id insert,插入具有指定名称和年龄的新记录,然后获取创建的student_id
我试过这样的代码:
IF EXISTS (SELECT 1 FROM main.student WHERE studentname='hhh' and studentage=15)
BEGIN
SELECT student_id FROM main.student WHERE studentname='hhh' and stu
SQL代码片段#1:
select *
from customer
where exists (select null)
order by residence desc;
SQL代码段#2:
select customer_id, customer_name
from customer
where exists (select customer_id
from customer
where residence = 'los angeles'
and age > 20
我有一个存储人们详细信息的sql表,即id、name、DoB、registration_date和address。我想计算每个人的年龄,然后将他们分成以下几个范围: 20-30,31-50,51及以上。
我知道我可以通过执行以下操作获得年龄:()
SELECT FLOOR((CAST (GetDate() AS INTEGER) - CAST(Date_of_birth AS INTEGER)) / 365.25) AS Age
我只需要弄清楚如何将所有人分组到他们各自的范围内。
谢谢你的帮助
我正在尝试优化使用生成的查询到SQL查询。下面是我的查询的大规模简化版本。
C#
List<bool> isUsed = Context.tParent.Select(parent =>
parent.tChild.Any()
).ToList();
这将产生以下SQL
生成的SQL
SELECT
CASE WHEN (( EXISTS (SELECT
1 AS [C1]
FROM [dbo].[tChild] AS [Extent2]
WHERE [Extent1].[Id] = [Extent2].[P
我创建了一个标量用户定义的函数,它将接受出生日期并返回一个人从现在起15年内的年龄。
CREATE FUNCTION AgeIn15 (@DateOfBirth DATE)
RETURNS INT
AS
BEGIN
RETURN Convert(INT, DateAdd(year, 15, DateDiff(year, @DateOfBirth, GetDate())))
END
现在,我想使用创建的UDF来显示表marketing_list中所有人员的年龄以及他们的原始信息。我该怎么做?我试过了,但我犯了个错误
SELECT *
FROM marketing_list AgeIn15
因此,我有一个文本文件,其中包含“姓名”、“姓氏”、“年龄”和多行数据。 我已经能够从文件中提取"Age“,并能够将其从最老到最年轻。现在唯一的问题是,我想显示列表中的所有人,但按年龄从大到小的顺序显示他们的名字和姓氏。 对于每一行,我也有单独的变量。例如Name1 = "John","Doe","16“。Name2 =“无名氏”,“约翰”,"16“。我知道这不是一个好方法,但我不知道该怎么做。 和不带qoutes的Age = [24,14,16] 我想到了 if Age[2] in Name1[2]:
#John Doe i
我正在使用NodeJs mysql模块,我想在实际查询密码之前检查账号是否存在。 下面是sql语句: let sql = `IF EXISTS (SELECT name FROM users WHERE name='${data.name}') SELECT password FROM users WHERE name='${data.name}'`; 如果没有if语句,一旦添加了IF EXISTS部件,无论我如何调整,总是会得到如下的错误: code: 'ER_PARSE_ERROR',
errno: 1064,
sqlMessage:
我有一个名为Container in mariadb的表,它有三个字段container_id、mt_date和age。
我要做的是,每次加载数据库时,更新/设置与特定container_id对应的年龄字段的新值。我已经将年龄和相应的container_id分别作为值和键保存在python字典中。而不是循环浏览字典,然后尝试像这样更新age -
for i in list(age_dict):
frappe.db.sql("update Container set age = age_dict[i] where container_id = i")
在这里,frappe
我有两个问题:
查询至少注册了subj1和subj2课程的学生的id号(我至少不知道如何编写代码)
查询未注册subj2课程的学生的id号、姓名和年龄。
我编写了如下代码--它返回一个空表,尽管我应该得到一些值。
Select sno, sname, age
from student
where not exists (select cno from course where cno ='C2');
我有以下SQL查询,它可以找到最老的滑雪板运动员的姓名和年龄。
SELECT c.cname, MAX(c.age)
FROM Customers c
WHERE c.type = 'snowboard';
但是我正在阅读的指南说这个查询是错误的,因为SELECT子句中的非聚合列必须来自GROUP BY子句中的属性。
我认为这个查询达到了它的目的,因为聚合MAX(c.age)对应于单个值。它确实找到了年龄最大的滑雪板运动员的年龄。
因此,我有一个工作的SQL脚本,它接受一个日期,并返回从当前时间到给定日期的年龄(不包括在一个名为“排除日期”的表中定义的日期)。
SELECT
COUNT(*)
FROM
(
SELECT
ROWNUM rnum
FROM
all_objects
WHERE
ROWNUM <= CAST(current_timestamp AS DATE) - to_date('&2') + 1
)
WHERE
to_char(
我需要创建列:'MntNeto‘,默认值为'0',只有在表CONSUMO.DBO.ARCHIVOBOL082017中不存在时才创建'Not Null’列 在Sql Server查询分析器中,此字符串每次都可以正常工作: if not exists (select * from syscolumns where id=object_id('CONSUMO.DBO.ARCHIVOBOL082017') and name='MntNeto') alter table CONSUMO.DBO.ARCHIVOBOL082017 add M
我的SQLite代码有问题。我试图检查我的SQLite表中是否存在记录,但是由于某种原因,它总是返回-1,不管记录是否存在。据我所知,如果记录存在,它应该返回1,如果不存在,则返回0。有人能指出我的错误吗?谢谢!
var freeHours = new List<DateTime>();
User user = new User();
for (int i = user.HoursOfWork[0]; i < user.HoursOfWork[1]; i++)
{
Da
我有以下架构:
为以下内容创建一个查询:查找初学者参与的每种活动的最年轻参与者的年龄。
错误的解决方案:
SELECT c.type, MIN(c.age)
FROM Customers c
WHERE c.level = 'Beginner'
GROUP BY c.type;
正确的解决方案:
SELECT c.type, MIN(c.age)
FROM Customers c
WHERE EXISTS ( SELECT *
FROM Customers c2
我使用的是PostgreSQL 9.6,我需要创建一个查询,根据if的逻辑执行选择
基本上我试过:
DO $$
BEGIN
IF exists ( SELECT 1 FROM TABLE WHERE A = B ) THEN
SELECT *
FROM A
ELSE
SELECT *
FROM B
END IF
END $$
这会给我带来一个错误:
错误:查询没有结果数据的目标
提示:如果要放弃选择的结果,请使用“执行”。
上下文: SQL语句处的PL/pgSQL函数inline_code_block第15行
然后,我将" SELECT“改为"PERFO
SELECT c.cname
FROM Customers c
WHERE c.age > ALL (SELECT c2.age
FROM Customers c2
WHERE c2.type = 'snowboard');
SELECT c.cname
FROM Customers c
WHERE c.age > (SELECT MAX(c2.age)
FROM Customers c2
WHERE c2.type = 'snowboard')
在我看来,它们是一样的,因为MAX(c2.age)大于或等于列年龄中的所有值,如果c.age
在课堂上,教授说SQL语言并不能为所有的操作符提供服务。为了使用“面向所有人”,你必须使用“不存在”(除Y外)。
在这一点上,我不明白为什么'for all‘的意思与’不存在‘(除Y外)的含义相同。
我给你举个例子:
课程(cID,title,deptName,credit)
任教(pID,cID,学期,,教室)
学生(sID,姓名,性别,deptName)
问:找到所有参加过CS系所有课程的学生名字。
答案是:
Select distinct
S.sid, S.name
from
student as S
where
not exists (
我每年都会使用下面的代码来提高学生的年龄。目的是了解每年的学生总数。
from pyspark.sql.functions import col
import pyspark.sql.functions as fn
gr = Df2.groupby(['Year'])
df_grouped =
gr.agg(fn.count(col('Student_ID')).alias('total_student_by_year'))
我发现这么多ID被重复的问题,所以结果是错误的和巨大的。
我想按年增加学生人数,按年计算学生总数,避免重复使用ID。
由于某些原因,我在尝试运行此SQL时出现语法错误。
SELECT C.CUSTNUM
FROM CUSTOMERS AS C
WHERE C.CUSTNUM EXISTS (
SELECT P.CNUM
FROM PURCHASES AS P
WHERE P.PNUM EXISTS (
SELECT *
FROM PRODUCTS AS PR
WHERE PR.MSRP = 9.99 ))
我确保结束我的括号,但我仍然在查询表达式中得到一个语法错误。我的代码中可能遗漏了一些简单的东西。有什么想法吗?非常感谢。
我是一个开始SQL程序员-我得到了大多数东西,但不存在。
在我看来,并通过文档查看,一个完整的EXISTS语句返回一个布尔值。
但是,我看到了一些具体的例子,在这些例子中,可以使用它并返回表的一部分,而不是全部或没有。
SELECT DISTINCT PNAME
FROM P
WHERE EXISTS
(
SELECT *
FROM SP Join S ON SP.SNO = S.SNO
WHERE SP.PNO = P.PNO
AND S.STATUS > 25
)
这个查询返回一个值,这个值符合条件(S.Status > 25)。
但是,
我做了一个INSERT INTO的数据从一个导入表到我创建的一个新表,其中包含有关人、姓名、地址、道布、年龄、性别等的一般信息。
当我在我的新表中插入时,导入数据对用户来说没有年龄,所以我在INSERT INTO之后执行了以下操作:
UPDATE table_a set age = (SELECT timestampdiff(year, dob, curdate()) AS age);
这立刻给了我每个人的年龄,并相应地更新了专栏。
现在我想知道根据现在的日期,谁要过生日:
SELECT name, dob FROM table_a WHERE DAYOFYEAR(dob) - DAYOFYE
从Java代码在PostgreSQL上运行以下查询时,我遇到一个错误
.....
sql = "CREATE TABLE IF NOT EXISTS table1 (s VARCHAR(100), p VARCHAR(100), o VARCHAR(100), PRIMARY KEY (s,p,o)) ; ";
pgsql.runUpdateQuery(sql);
sql = "CREATE INDEX indextable1 ON table1 (s,p,o);";
pgsql.run
除了find_by_sql之外,有没有一种方法可以在ActiveRecord中使用EXISTS?
我想要一种很好的方法来查找一对多关系中没有关联的所有记录。
SELECT DISTINCT store_type FROM stores
WHERE NOT EXISTS (SELECT * FROM cities_stores
WHERE cities_stores.store_type = stores.store_type)
刚刚结束斯坦福大学关于SQL的讲座(詹妮弗·威德姆教授)。但是,我对EXISTS子句的使用产生了混淆。我认为它就像一个条件和一个表达式,所以如果它是真的,那么上面的查询就会继续进行(很像布尔AND)。因此,对这个问题有一点疑问:
乘客= {pid,pname,年龄} 预订= {pid,class,tid}
并使用一些数据填充表,并执行以下查询:
SELECT pid
FROM Reservation
WHERE class = 'AC' AND EXISTS
(SELECT * FROM Passenger WHERE age > 65 AND Passen
我刚开始使用SQL查询,我正在尝试检查Parents表中的每个父级是否具有Children表中所有子表的年龄。例如:
父母
Name Id
John Smith 7
儿童
Name Age ParentId
Sasha Smith 10 7
Johnny Smith 0 7
到目前为止,这就是我所拥有的:
create function fnCheckChildren(
@parentId int
)
returns int
begin
declare @allOk int
if(select
我在为一个特殊的特征而挣扎。
在我的用户模型中,我有一种方法可以根据当前日期减去他们的第一次订购日期来计算他们的年龄。
我希望能够找到所有年龄超过X天的用户。我可以通过查询一个名为“活动”用户的列来查找活动用户。但我不知道如何查询age方法的结果,以找到年龄大于X的用户。
有人有什么想法吗?
非常感谢和节日的问候。
**编辑
在postgresql中,我会写;
WITH
firstbill as (
SELECT
DISTINCT(user_id) as customer,
DATE(MIN(billed_at)) as first_order
FROM orders
WHERE
错误1064 (42000)在第1行:您的SQL语法有一个错误;检查与您的MySQL服务器版本对应的手册,以获得正确的语法以使用n ear。
在第1行
当使用下面的mysql语句时,我将得到错误。mysql -u根-p** < network.sql
MySQL服务器版本为5.5.21
network.sql文件的内容是
IF EXISTS (SELECT name FROM master.dbo.sysdatabases WHERE name = N'server')
DROP DATABASE [server]
GO
CREATE DATABASE [ser
我正在尝试查找一个linq查询,这样我就可以将它写在if语句中。
伪代码:
int是int的列表List< IDList >
if (IDList.Contains (Object.Id)) Do something
但我似乎不知道需要什么。
在none-linq中,这是可行的:
foreach(int id in IDList )
{
if (id == Object.Id)
break;
}
但如果可能的话,我想把它写成一行。
我第一次尝试这样做:
IDList.Contains(Object.Id);
但是这会抛
给定一个字符串S,我们定义它的重量,重量(S)为在字符串中元音位置的乘法(从1开始)。例:重量(E)= 1;体重(“年龄”)= 3;体重(“pippo”)= 10。
我试过这个:
def weight(s):
vowels = ['a','e','i','o','u']
numbers = []
for c in s:
if c in vowels:
n = s.index(c)+1
numbers.append