我有这样的数据,我的目标是找到具有其main_ID列的唯一值的行,然后计算这些ID的总数,这些ID对于另一个ID列也具有2个值中的任意一个。
我正在尝试这样做:
SELECT COUNT(DISTINCT(main_id))
FROM (SELECT other_id, main_id FROM database.table WHERE other_id ='5') a INNER JOIN
(SELECT other_id, main_id FROM database.table WHERE other_id ='6') b USING (main_id)
我有以下代码和输出:
SELECT CustomerCategoryName, COUNT(a.CustomerID) AS CustomersInThisCategory
FROM Sales.Customers AS a
RIGHT JOIN Sales.CustomerCategories AS b on a.CustomerCategoryID = b.CustomerCategoryID
GROUP BY CustomerCategoryName
ORDER BY CustomersInThisCategory DESC
这将生成以下输出:
当我添加以下COUNT agg
我有一个没有索引的底层表,并希望基于复合列创建一个索引列,如下所示。然而,当这样做的时候,底层查询会运行很长时间,并消耗整个临时空间。我们怎么才能以不同的方式来写呢?
"select /*+ PARALLEL(8) */ a.* , a.id||a.period as d_idx from test1 a join test2 b on test1.id=test2.id where b.acct='Clnt'
我之所以这样做"a.id||a.period as d_idx“,是因为我们的逻辑需要一个索引列(而不是复合列),所以我将它们连接在一起,生成一个索引列
我想我在处理内部连接时遇到了一些问题:
select count(distinct id)
from svn1,
svn2
where svn1.revno = svn2.revno
and svn1.type = 'Bug'
and svn2.authors IN (select authors
from svn2
where revno = '33')
如何通过内部连接更快地实现这一点?我的带有内部连接的查询给出了
我有一个有许多表的大型数据库。其中一些表可能包含email字段。它们都是相同类型的varchar(255)。我想要做的是将所有的表与电子邮件列连接在一起,并获得数据库中所有唯一电子邮件的列表。
我遇到的问题是,这个列会有多个表,所以我需要它的高性能。第二个问题是afaik,将表连接在一起意味着它们必须有一个从第一个表到连接表的公共值。
我想要做这样的事情:
SELECT
email
FROM
table_1
LEFT JOIN
table_2
USING (email)
LEFT JOIN
table_3
USING (email)
然而,我希望能够从所有的表格
我正在尝试连接三个表与组concat.Problem是主要的表有json格式的连接列。
查询正在运行,但一次又一次地重复连接列数据查询->
[SELECT tour_package.description AS description,
tour_package.NAME AS NAME,
GROUP_CONCAT( destination_continent.NAME ) AS continent_name,
GROUP_CONCAT( travel_style.NAME ) AS travel_style_name,
背景是,我正在构建一个通用工具,它可以接收不同的客户数据库,并将其与内部仪表板连接。因此,在我的用例中,我经常遇到几十个varchar/int列,老实说,它们只是枚举。
我正在寻找一种方法,这样我就不必手动筛选每一列,看看它是否可以是枚举。
有没有可以自动检测表中可枚举列的命令
SQL: Select <column_name> FROM <table> WHERE <column_name> has maximum 10 distinct values
或者其他类似上面的东西。有什么想法吗?
下面是mysql查询
SELECT *
FROM alerts_list l, alerts_data d, alerts_push_data p
WHERE p.push_data_hash = d.alerts_data_hash
AND p.push_data_alert_id = l.alerts_id
AND d.alerts_data_id = l.alerts_id
AND d.alerts_data_hash = 'JiaYRSVNZxgE'
通过连接三个表来显示JiaYRSVNZxgE的结果。
下面是我使用的表和我想在它们之间连接的列:
表alerts_li
我在查询中做了一些计数
在group by之后,我需要在不同的条件下计算两次FLOW_ID:
select count(distinct flow_id) as work_sum,
count(distinct case when ISHANDLE=2 THEN FLOW_ID) AS ERROR_SUM
FROM Table A group by ALERT_USER
第一列计数distinct flow_id,第二列计数distinct flow_id where ISHANDLE =2
但是我的sql不能工作,有谁可以帮助我吗?tks
顺便说一句:我
我正在聚集表的列,以查找唯一值的计数。例如,汇总状态会显示5个警报中有2个处于打开状态,3个处于关闭状态。简化表如下所示: create table alerts (
id,
status,
owner_id
); 下面的查询使用分组集一次聚合多个列。这种方法工作得很好。 with aggs as (
select status
from alerts
where alerts.owner_id = 'x'
)
select status, count(*)
from aggs
group by grouping sets(
我有两个数据集: 1)
Table A
id name
1 raju
2 ramu
2 ramu
3 rakesh
2)
Table B
id Status
1 Y
1 Y
2 N
2 N
2 Y
3 N
我想在hive中执行左外连接(表A左外连接表B),当连接列'id‘上的两个数据集时,如果表B中的Status列至少有一次'Y’,则结果数据集的状态将为'Yes‘,如下所示:
Final Result:
id name Status
1 raju Yes
2 ramu Yes
我有三张表,A,B,C,其中A是多对一的B,B是多对一的C。我想要一张A中所有C的列表。
我的表是这样的: Aid、valueA、lookupB、Bid、valueB、lookupC、Cid、valueC。我已经编写了一个带有两个嵌套SELECT的查询,但我想知道是否可以使用DISTINCT进行内部连接。
SELECT valueC
FROM C
INNER JOIN
(
SELECT DISTINCT lookupC
FROM B INNER JOIN
(
SELECT DISTINCT lookupB
FROM A
)
我只有一个表: Checking,有两列: ID、Memo
ID是主键。
我想要一个同时返回两列的查询: ID,Memo,但只返回Memo是DISTINCT的
我可以执行以下操作来从Memo中获取不同的值:
SELECT DISTINCT(memo)
FROM checking
如何从ID列返回这些备注值及其值?
我尝试过内连接和外连接,但都失败了。
谢谢你的帮忙
示例数据:
ID Memo
1 a
2 c
3 e
4 g
5 a
6 c
期望的回报:
1,a
2,c
3,e
4,g
我有一个user表,它有id列,request表有user_id和session_id列。
我想得到每个用户的会话数。
下面是我使用子查询编写的查询:
select user.id,
(
select count(distinct session_id)
from request
where request.user_id = user.id
) as session_count
from user
什么才是连接的等价物?
假设我有一个schools表和一个students表。students表连接到schools表,并具有NAME和BIRTHDATE列。
我需要所有学校里有学生,他们被称为“吉姆”或“迈克”,并出生在同一天。
类似于:
select *
from schools s
join student st in st.schoolId = s.Id
where (...)
我的MariaDB不支持IN,而且我似乎无法编写一个正确的查询,该查询使用连接并提供相同的结果。下面是IN的查询
SELECT * FROM topics WHERE topic_id IN
( SELECT DISTINCT(topic) FROM answers
ORDER BY date LIMIT 500 )
如何将该查询转换为不使用IN但连接(预先)的内容?
在查询中:
SELECT
i.id, i.title, i.description,
cities.name as city,
GROUP_CONCAT(DISTINCT station.name) as station,
GROUP_CONCAT(DISTINCT p.url) as photos
FROM
items i
INNER JOIN
cities ON cities.id = i.city_id
LEFT JOIN
item_photos p ON p.item_id = i.id
LEFT JOIN
item_st
我正在尝试显示我的t1_elem表中的所有列,并连接其中使用COUNT的2列。 我使用了query: SELECT p.*,COUNT(t4_id) as ile_publikacji, COUNT(t7_id) as ile_fitow
FROM t1_elem p
LEFT OUTER JOIN t4_autorzy ON p.t1_id=t4_autorzy.t4_t1_id
LEFT JOIN t7_pliki ON p.t1_id=t7_pliki.t7_t1_id
GROUP BY t1_id 但结果很糟糕。我哪里做错了?