小编Luk*_*zda的帖子

查询以使用 GROUP_CONCAT 拆分偶数和奇数

我有一个查询,可以在具有四个数字的特定邮政编码中查找每条街道的门牌号码:

SELECT *,
    GROUP_CONCAT(DISTINCT CAST(housenumber AS int) ORDER BY housenumber ASC) AS housenumbers
FROM streets
WHERE postcode LIKE '3031%'
GROUP BY street
ORDER BY lat,lon
Run Code Online (Sandbox Code Playgroud)

这是 groupcatted 门牌号码的结果。

491,492,493,500,501,502,503,504,505,506,507,508,50
Run Code Online (Sandbox Code Playgroud)

我想将结果分成两列,分别为evenhousenumber 和oddhousenumbers。我试过MODand %2,但都需要 aWHERE并且不可能WHERE在 groupcat 函数中使用 ,我注意到。

如何将结果拆分为偶数和奇数?

mysql sql mariadb

1
推荐指数
1
解决办法
123
查看次数

当你在中间排除一个数字时如何使用SQL的BETWEEN条件?

现在,我正在使用BETWEEN条件来收集帐号,但我想要获取的唯一帐号是:

2999,3000至3004和3006 - 3010(基本上是跳过3005)

我如何格式化BETWEEN?

sql t-sql sql-server

0
推荐指数
1
解决办法
252
查看次数

合并两个表,排除相同的记录

我有两个表:

T1 
A  
B  
C  
D

T2  
A  
B  
E  
F  
G  
Run Code Online (Sandbox Code Playgroud)

现在,我想要查询将合并这两个表但排除相同记录的查询。输出表应类似于:

T1T2 
C  
D  
E  
F  
G
Run Code Online (Sandbox Code Playgroud)

怎么做?

mysql sql

0
推荐指数
1
解决办法
1199
查看次数

在case语句中计算NULL值

我有以下SQL查询:

SELECT jobs.ID,  jobs.title,
SUM(CASE WHEN jobresponses.result = 'true' THEN 1 ELSE 0 END) as True,
SUM(CASE WHEN jobresponses.result = 'false' THEN 1 ELSE 0 END) as False,
SUM(CASE WHEN jobresponses.result != 'true' AND jobresponses.result != 'false' THEN 1 ELSE 0 END) as Incomplete
FROM jobresponses 
JOIN jobs on jobresponses.jobId = jobs.ID
WHERE jobs.ID = 1
GROUP BY jobs.ID, jobs.title
Run Code Online (Sandbox Code Playgroud)

第三种情况是表达与实践计值resultNULL,但为了安全起见(之间'',undefinedNULL)我想主要有包罗万象的"其他"类型的字段.但是,问题是不计算NULL值.看到这个 SQL小提琴.

sql t-sql sql-server

0
推荐指数
1
解决办法
1789
查看次数

SQL Server LEAD多行

我知道我可以使用LAGLEAD从结果集中获取上一行和下一行。我想知道的是如何获取下一行,该行之后的行以及下一行。如果可能的话,我不想使用游标。

LEAD(n)n 可能是前面的行数吗?

t-sql sql-server lead

0
推荐指数
1
解决办法
152
查看次数

如何在where子句中解析JSON(SQL Server)

我正在尝试解析一列

列数据示例

[{"id":"100190","role":"Company"},{"id":"1049","role":"Person"}]
Run Code Online (Sandbox Code Playgroud)

示例表

| item | perm                                                             | 
|------|------------------------------------------------------------------|
| a100 | NULL                                                             |
| a101 | NULL                                                             |
| b200 | [{"id":"100190","role":"Company"},{"id":"1049","role":"Person"}] |
| b201 | [{"id":"100190","role":"Company"},{"id":"1049","role":"Person"}] | 
Run Code Online (Sandbox Code Playgroud)

示例程序

declare @id int = 1049

select *
from someTable
where contains(openjson(perm, '$') with (
  id int '$.id'
), @id)
Run Code Online (Sandbox Code Playgroud)

**预期输出**

| item | perm                                                             | 
|------|------------------------------------------------------------------|
| b200 | [{"id":"100190","role":"Company"},{"id":"1049","role":"Person"}] |
| b201 | [{"id":"100190","role":"Company"},{"id":"1049","role":"Person"}] | 
Run Code Online (Sandbox Code Playgroud)

如何从JSON嵌入式数组中选择包含给定ID的行?

t-sql sql-server select json where-clause

0
推荐指数
1
解决办法
68
查看次数

如何获得所有产品的订单

我对 MySQL 中的订单表设计有疑问。我有 ORDERS 表

Order_id | Customer_id | Total_Price | 
--------------------------------------
Run Code Online (Sandbox Code Playgroud)

在另一边我有桌子 PRODUCT

Product_id | Product_name | available_amount 
------------------------------------------
Run Code Online (Sandbox Code Playgroud)

一个订单可以包含多个不同的产品。那么,如何更改或更新我的数据库设计,以便我可以有效地访问包含所有产品的任何订单?我应该创建单独的表名 Order_details 吗?你能帮我么?

mysql database-design

-1
推荐指数
1
解决办法
317
查看次数

SQL查询无法正常工作 - 没有理由?

我有个问题.我创建了一个SQL查询,在数据库中插入一些东西:

INSERT INTO order (kundennummer,empfaenger,adresse,plz,ort,land,email,time,approvalPending) 
VALUES ('232784', 'Niklas Peters', 'Some Stret', 'PostalCode', 'Wien', 'AT', 'email@email.com', '1454593142', '1')
Run Code Online (Sandbox Code Playgroud)

但我总是得到错误:

您的SQL语法有错误; 查看与您的MySQL服务器版本对应的手册,以便在第1行的'order(kundennummer,empfaenger,adresse,plz,ort,land,email,time,approvalPending)附近使用正确的语法

我的代码是PHP

$sql = "INSERT INTO order (kundennummer,empfaenger,adresse,plz,ort,land,email,time,approvalPending) VALUES ('".$kdnr."', '".$emp."', '".$adresse."', '".$plz."', '".$ort."', '".$land."', '".$email."', '".$time."', '1')";
Run Code Online (Sandbox Code Playgroud)

我只是不知道出了什么问题 - 我瞎了吗?

干杯 - 很乐意帮忙!

php mysql

-2
推荐指数
2
解决办法
150
查看次数

MSSQL:删除重复项的过程

考虑没有任何主键或外键的表。我想编写一个程序,它将删除给定表名的所有重复行。

如果所有字段都相同,则该行应被视为其他行的重复。

如果可以的话,你能建议我吗。我尝试过的一件事是按每个领域分组,但是这种方法并不通用。

sql t-sql sql-server stored-procedures distinct

-2
推荐指数
1
解决办法
1024
查看次数