我有一个查询,可以在具有四个数字的特定邮政编码中查找每条街道的门牌号码:
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 函数中使用 ,我注意到。
如何将结果拆分为偶数和奇数?
现在,我正在使用BETWEEN条件来收集帐号,但我想要获取的唯一帐号是:
2999,3000至3004和3006 - 3010(基本上是跳过3005)
我如何格式化BETWEEN?
我有两个表:
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)
怎么做?
我有以下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)
第三种情况是表达与实践计值result的NULL,但为了安全起见(之间'',undefined和NULL)我想主要有包罗万象的"其他"类型的字段.但是,问题是不计算NULL值.看到这个 SQL小提琴.
我知道我可以使用LAG和LEAD从结果集中获取上一行和下一行。我想知道的是如何获取下一行,该行之后的行以及下一行。如果可能的话,我不想使用游标。
LEAD(n)n 可能是前面的行数吗?
我正在尝试解析一列
列数据示例
[{"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的行?
我对 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 吗?你能帮我么?
我有个问题.我创建了一个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)
我只是不知道出了什么问题 - 我瞎了吗?
干杯 - 很乐意帮忙!
考虑没有任何主键或外键的表。我想编写一个程序,它将删除给定表名的所有重复行。
如果所有字段都相同,则该行应被视为其他行的重复。
如果可以的话,你能建议我吗。我尝试过的一件事是按每个领域分组,但是这种方法并不通用。