当我想在vb.net中检索数据时,在列中有带有阿拉伯文本的Excel表总是面临一个问题:
一个或多个所需参数没有给定值
代码是:
Dim Dta1 As OleDbCommand
Dim Dta1 As OleDbCommand
Using conn As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Excel + ";Extended Properties=Excel 12.0;")
conn.Open()
Dta2 = New OleDbCom
我正在尝试编写一个查询,该查询将只选择那些具有事件的行,这些行是当年唯一的事件。
例:
Year Event
2011 A
2011 B
2012 C
2013 B
2013 D
2014 D
因此,我想在结果中得到行2012 C和2014 D。我尝试在Year上做一个Year,但这不允许我选择Event列。2011年和2013年有两个活动,所以不应该出现在结果中。
请帮帮忙。
编辑:我可以编写一个嵌套查询,以获得唯一具有count(Year) = 1和GROUP BY Year的行,但无法获得在外部查询中选择的Event列
SELE
假设查询如下:
SELECT meta_value as xyz, COUNT(*) AS count
FROM wp_postmeta
WHERE meta_key = "xyz" AND meta_value != ""
GROUP BY meta_value
HAVING count > 1
查询运行得很好,但是我不需要在结果中包含count列。如何排除count列?
我知道我可以使用子查询(如下所示),但我想知道是否有更好的方法。
SELECT xyz FROM (
SELECT meta_value as xyz, COUNT
如果我在phpmyadmin中运行以下查询,它会将我抛到错误下面。
查询中的> Error (1054):'where子句‘中未知列'QTY’
SELECT User_Name,
COUNT(User_Name) AS QTY
FROM preusage
WHERE QTY > 1
GROUP BY User_Name
谁来帮帮我
我正在尝试编写一个查询,以便根据聚合列计算级别列。查询是作为Hibernate条件查询的一部分的SQLProjection。这里是我尝试过的:
String sqlProjection =
"(select count(*) from IPTStatistic stat2 where
max(s.powerRestarts) > max({alias}.powerRestarts)) as rank)";
ProjectionList list = Projections.projectionList();
list.add(
在我的mysql数据库中,我可以使用以下查询找到dups:
select checksum, count(*) c from MY_DATA group by checksum having c > 1;
我得到了一个大约200个副本的列表。我想要做的是更新同一个表中的一列,将它们标记为dup。
我试过这个:
update MY_DATA SET DONT_PARSE=1
where (select count(*) c from MY_DATA group by checksum having c > 1);
我得到了错误:不能在FROM子句中为update指定目标表
我想问如何在列中选择那些没有重复的记录,这意味着它只在整个列中发生一次。我尝试了下面的查询,其中我将在结果中添加一个列来统计这个记录的出现数,然后尝试通过where筛选唯一的,但我似乎无法使它工作。
Select tab1.[Column 0], Count(*) As NumOfMessage
from tab1 where NumOfMessage = 1 group by tab.[Column 0]
谢谢你的帮助。非常感谢!
我已经设法通过VB.net将excel工作表中的数据导入到我的SQL SERVER表中,但是每次我运行查询(单击按钮)时,相同的数据都会再次上载到我的表中。有没有办法只导入额外的数据?(在我的SQLSERVER表中,'Email‘列应该是唯一的)下面是我的代码:
感谢您的帮助!
Dim ExcelConnection As New System.Data.OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Excel.xlsm;Extended Properties=""
我在PostgreSQL中有以下查询:
SELECT
COUNT(a.log_id) AS overall_count
FROM
"Log" as a,
"License" as b
WHERE
a.license_id=7
AND
a.license_id=b.license_id
AND
b.limit_call > overall_count
GROUP BY
a.license_id;
为什么我会得到这个错误:
错误:"overall_count“列不存在
我
根据所有示例,将SQL转换为LINQ for this子句,如本例所示:
SELECT NAME
FROM TABLES
GROUP BY NAME
HAVING COUNT(*) > 1
is:(vb.net)
from t in tables
group t by t.NAME into g = Group
where g.count > 1
select g
但是,上面的LINQ语句被转换为以下SQL:
SELECT [t1].[NAME] AS [Key]
FROM (
SELECT COUNT(*) AS [value], [t0].[NAME]
我的MySQL数据库遇到了问题。当我想在同一列上执行多个条件时,我知道如何处理。
表的例子:
No | Letter
------------
1 | a
5 | b
4 | b
4 | c
5 | b
6 | g
4 | a
通常情况下,如果我想显示字母a、字母b和字母C的“No”,则此查询运行良好:
SELECT No
FROM table
WHERE letter IN ('a', 'b', 'c')
GROUP BY No
HAVING COUNt(*) = 3
但是,如果
我正在尝试发现表中所有行多次出现的外键,并通过子查询返回这些外键。
使用列上的GROUP BY,我能够可视化每个外键的COUNT:
SELECT orders_id, COUNT(*) as count
FROM order_history
GROUP BY orders_id
但是,当我用WHERE子句增加它时,尝试过滤,如下所示:
SELECT orders_id, COUNT(*) as count
FROM order_history
GROUP BY orders_id
WHERE count > 1
我犯了个错误
#1064 - You have an error in yo
给定表menu,在him中是列continent,例如在him中是这个数据
continent
----------
africa
africa
europe
europe
europe
我想要得到大陆的名称,这是更多的时间在列中,即结果必须是europe。
我写查询,但我认为我的查询是困难的,必须存在更容易的解决方案,像这样的情况。是一些想法吗?
这是我的问题
SELECT continent FROM (
SELECT continent, COUNT(continent) AS cnt FROM menu GROUP BY continent
) AS t
我有一个连接表,其中包含两个列的主键组合。我想查询所有条目
columnA having count > 1
和
columnB = value1 and value2
到目前为止,我的查询如下
select
columnA
from tableA
where columnB = 1 and
columnA in (
select
columnA
from tableA
group by columnA
having count(columnA) > 1)
或
sel
嗨,我想把值从LEAD2复制到LEAD1。我有选择这些列的查询,但是我不知道如何更新set LEAD2=LEAD1。以下是select查询:
SELECT
a.lead_id AS LEAD1
, b.lead_id AS LEAD2
FROM
dbo.spirulina AS a
INNER JOIN dbo.spirulina AS b
ON a.PHONEHOME = b.PHONEHOME
WHERE
(a.lead_id IS NOT NUL
我输入了一个查询,该查询在我的数据库中引入了一些重复项。这张桌子就在前面。
它有一个id (int)列和一个为varchar(255)的短语列。为了查找重复项,我的查询如下所示:
SELECT phrase from foo GROUP BY phrase HAVING (count(phrase) > 1)
我的问题是,如何删除重复的条目而不必手动操作?我想使用上面的查询来生成至少需要删除一次的条目列表。这样,在表foo中只存在一个版本的“短语”。
是否有可能摆脱子查询并将整个查询转换为JOIN查询?
SELECT student_id,
COUNT(attendance)
FROM student_attendance
WHERE attendance = 'ABSENT'
GROUP BY student_id
HAVING COUNT(attendance) = (SELECT max_allowed
FROM configurations);
我尝试了以下几点:
SELECT student_id,
COUNT(att
我使用这个查询来查找表中的重复值:
select col1,
count(col1)
from table1
group by col1
having count (col1) > 1
order by 2 desc;
但我还想从同一个表中添加另一列,如下所示:
select col1,
col2,
count(col1)
from table1
group by col1
having count (col1) > 1
order by 2 desc;
我在第二个查询中得到了一个ORA-00979错误
我有一个查询,我想从结果集中更新n-1记录。没有循环就能做到这一点吗?
如果我的查询是这样的:
with cte(id, count)
as
(
select e.id, count(*) as count
from data
where id in (multiple values)
group by id
having count(*) >1
)
现在,我希望用得到的id更新另一个表中的行,但只更新上面查询中的每个id值的任何n-1行。就像这样:
update top( count-1 or n-1) from data2
inner join cte on da
有没有更好的方法来做下面的SQL查询?我有一种感觉,table1将被搜索两次,这可以通过一些技巧来避免,并提高查询的效率,但我就是想不出怎么做;(以下是查询(在MySQL中):
SELECT a, SUM(count)
FROM table1
GROUP BY a
HAVING SUM(count) = (SELECT SUM(count) as total FROM table1 GROUP BY a ORDER BY total DESC LIMIT 1)
目标是返回具有主要累加的数字及其累加。
作为table1两字段表,如下所示:
a,count
1,10
1,30
1,0
2,1
2,
有谁知道如何优化下面的查询,因为它需要相当长的时间:
select count(*) from
(select field1
from table
group by field1
having count(distinct field1) <> count(field1)) AS Q1
该查询用于查找列中非唯一值的数量。
有人能解释一下为什么group by子查询的添加使得这个查询花费了这么长的时间(30秒):
SELECT *
FROM aggregate_songlist AS a
INNER JOIN musical_works AS m
ON a.musical_work_id = m.id
WHERE m.genre='rock' AND m.id NOT IN
(SELECT sources.musical_work_id FROM sources GROUP BY sources.musical_work_id HAVING COUNT(sources.musical_work
如何过滤下面查询中的count列,以便只显示count > 1的行?
select FirstName, COUNT(*) as [CountTickets] from tblParkingTickets
group by FirstName
order by [CountTickets] desc
这不起作用:
select FirstName, COUNT(*) as [CountTickets] from tblParkingTickets
where [CountTickets] > 1
group by FirstName
order by [CountTicke
我正在尝试编写一个查询,该查询根据另一列的x和y行值返回所选列的行。
但是下面的查询将返回两个选定列的所有行,即使我已经指定了一个范围。有人能告诉我我做错了什么吗?
select username, password
from loginuser
group by username, password
having count(id) between '1' and '2'
下面是我的MySQL查询及其返回的内容:
SELECT email, COUNT(*) AS num
FROM collectors_users
WHERE subscribed != 'NO'
AND lastLogin IS NULL
GROUP BY email
ORDER BY dateadded DESC;
我只想返回num > 1的结果。我试图像这样更改我的查询,但是说num不是一个公认的列是行不通的:
SELECT email, COUNT(*) AS num
FROM collectors_users
WHERE subscrib
用过的桌子在这里:
有件事我不明白。如果我用这个:
select continent, count(name)
from world
group by continent
having population >= 10000000
他们在“拥有条款”中说不知名的“人口”栏。但另一个查询被认为是很好的:
select continent
from world
group by continent
having sum(population) >= 100000000
为什么?为什么在这里人口列是被识别的,而在第一个查询中却没有呢?
我正在浏览一大堆记录,想要计算一个ID每月更新超过一次的次数。 SELECT COUNT(*) AS Frequency, MONTH(Date) AS MM, YEAR(Date) AS YYYY, Id
FROM data
WHERE -- [some filtering]
AND Date <= -- end date
AND Date >= -- start date
GROUP BY Date, Id
HAVING COUNT(*) > 1
ORDER BY MM DESC 现在发生的情况是,我只找到每天更新一次以上的Id的数
我有一个我编写的通用例程,它获取sql字符串的列表并对数据库执行它们。有没有什么方法可以让这件事更快呢?通常,它一次可能会看到200次插入、删除或更新。有时会有更新、插入和删除的混合操作。将查询按类型分开(例如,将插入组合在一起,然后更新,然后删除)是不是一个好主意?
我在ms access数据库上运行此程序,并使用vb.net 2005。
Public Function ExecuteNonQuery(ByVal sql As List(Of String), ByVal dbConnection as String) As Integer
If sql Is Nothing OrElse
在我的表中,变量的结构如下:在每个ID中,有多行date变量,在每个date中,有多行session变量,在每个session中,有transactions行。我想通过2个group by条件来查询表: 1)我想要按交易数在300行以下的I来清理表分组,2)按I、日期、会话计数大于5来分组。
代码通过两个单独的块顺序查询数据,如何将它们组合成一个块?
# group by ID
CREATE TABLE A as(
SELECT ID, date, session, transaction, v1, v2
FROM data
WHERE ID IN
(SELE
我经常看到人们用这样的查询来回答MySQL问题:
SELECT DAY(date), other columns
FROM table
GROUP BY DAY(date);
SELECT somecolumn, COUNT(*)
FROM table
HAVING COUNT(*) > 1;
我总是喜欢给列一个别名,并引用GROUP BY或HAVING子句中的别名。
SELECT DAY(date) AS day, other columns
FROM table
GROUP BY day;
SELECT somecolumn, COUNT(*) AS c
FROM table
H
我正在尝试从一个数据库中获取所有重复的行。假设我有一个表entries,其中包含名为name的主键id ant VARCHAR列。我已经有了一个可以工作的SQL查询:
SELECT id, entries.name FROM entries
INNER JOIN
(SELECT name FROM entries
GROUP BY name
HAVING count(id) > 1)
duplicate ON entries.name = duplicate.name
出于我个人的兴趣以及与其余代码的一致性,我想使用CodeIgniter Datam
我有一个SQL查询,给我一个数据库中双重记录的列表。
select periodid, itemid from periodscore
group by periodid, itemid
having count(*) > 1
这可以像预期的那样工作,但是现在我想检索这些记录的其他字段(例如最近更新的日期等)。所以我试着:
select * from periodscore where periodscoreid in
(select periodscoreid from periodscore
group by periodid, itemid
having count(*)
我有包含1,000万个数据的数据集,我正在循环它,并使用dataset的值来更新计数2500万的基表。
where子句中使用的字段是主键。
但我仍然没有得到性能,只有100 K记录在1小时内得到更新。
如何优化和加快在oracle中执行查询的时间。
我正在使用vb.net中的命令对象,连接对象
下面的函数执行了1000万次更新查询。
public cmd_obj as new oledb.oledbcommand
Strquery="update Table1 set field1='Value from dataset' where field2='value
我在查看Access数据库中没有进行的SQL查询。
其中一个SQL查询如下所示:
select column1 from table1 group by column1 having count(*)>1
此查询的目的是在column1中找到不止一次出现的值。我可以验证此查询是否正常工作,并返回多次出现的列值。
然而,我不明白为什么这个查询工作。根据我的理解,使用group by将删除重复字段。例如,如果column1有
column1
apple
mango
mango
执行group by (column1)将导致
column1
ap
我正在尝试编写一个查询,该查询返回第一列中某个值映射到第二列中的多个不同值的所有记录。我尝试了下面的方法,但是得到了一个“不是一个单独的群组函数”。我在这里做错了什么?
select contact_id, count(location_account_id)
from
(select a.contact_id, a.location_account_id
from crm.asset_plus a
where a.contact_id is not null
group by a.contact_id, a.location_account_id)
having count(locatio
我有一个关于ORDER BY或GROUP BY条款的问题。
例如,我有以下查询
SELECT country_name,COUNT(*) FROM user_location
WHERE country_name IS NOT NULL
GROUP BY country_name
ORDER BY COUNT(*) DESC
和
SELECT country_name,COUNT(*) As Total FROM user_location
WHERE country_name IS NOT NULL
GROUP BY country_name
ORDER BY Total DESC
在第
我在Mysql表中有一个select查询来获取特定列(日期)中具有重复值的相关表如果column.Example中有重复的值两行日期列中的值相同(2014-11-10),.This将成功显示列及其外键
mysql>select man_id,date_created,count(date_created) as count
from collections
group by man_id,date_created
having count(date_created) > 1;
我希望将此查询转换为Doctrine查询,因为我使用symfony 1.4作为框架
public fun
我有一个查询,它返回行的列表以及重复它们的时间,其中包含一个列TotalCount:
SELECT X,
COUNT(*) as TotalCount
FROM table
GROUP BY X HAVING COUNT(*) > 1
ORDER BY COUNT(*) DESC
我在PHPMyadmin中执行这个查询:
[X] [TotalCount]
A 5
B 6
我试图将查询包含在脚本中,但以下内容给出了“2”:
echo $result->num_rows;
如何在PHP中获得'11‘?
编辑:
我的问题是:
$sql="
我正在编写一个查询,以在人员表(包括每个副本)中查找重复行:
SELECT *
FROM Person
WHERE CONCAT(firstName,lastName) IN (
SELECT CONCAT(firstName,lastName) AS name
FROM Person
GROUP BY CONCAT(firstName,lastName)
HAVING COUNT(*) > 1
)
在启用了MySQL 8.0.19的MySQL 8.0.19中运行此操作时,如果出现以下错误,将失败:
查询1错误: with子句的表达式#1不按子句分组,而是
我有一个Personal表,其中有一个LastName列和一个MaybeUniqueID。我想要输出一个带有LastName列的表,在该表中,计数器设置为列MaybeUniqueID提供超过1行。
我想在一次独特的运行中完成每一件事,避免中期输出.
我主张不使用临时表或表变量,否则我想最多使用一个表变量(不是临时表),但我认为这不应该是必要的。
我正在使用2005。
我尝试了不同的场景,使用不同的SQL语句,比如HAVING或GROUP BY,但是我没有得到我想要的结果。请看下列不起作用的总结测试:
SELECT LastName
FROM Personal