我有一个正确存储在List <>中的ID列表.我现在需要对此列表进行分组,并获取按降序排序的出现次数的计数.
例:
List<string> aryIDs = new List<string>;
aryIDs.Add("1234");
aryIDs.Add("4321");
aryIDs.Add("3214");
aryIDs.Add("1234");
aryIDs.Add("4321");
aryIDs.Add("1234");
Run Code Online (Sandbox Code Playgroud)
会产生:
"1234", 3
"4321", 2
"3214", 1
Run Code Online (Sandbox Code Playgroud)
这在TSQL中很容易,但我想避免服务器往返,不必要的表等,如果可能的话.
提前致谢.
更新:Ralph Shillington的VB.NET转换如下:
Dim result = From id In aryIDs _
Group id By id Into Group _
Order By Group.Count() Descending _
Select id, Count = Group.Count()
result.Dump()
Run Code Online (Sandbox Code Playgroud) 我正在尝试通过以下一些示例来学习 Spring MVC:
http://krams915.blogspot.com/2012/01/spring-mvc-31-jqgrid-and-spring-data_1887.html
我的项目在 MySQL 中运行良好且愉快,但我需要尝试在 Oracle 中运行它。我毫不费力地移植了数据库。oracle xe 服务器是 11g 第 2 版。服务器在同一台机器(本地主机)上运行,我可以使用 SQL 开发人员使用以下信息连接到它。
我的属性文件中有以下内容:
#oracle
app.jdbc.driverClassName=oracle.jdbc.driver.OracleDriver
app.jdbc.url=jdbc\:oracle\:thin\:@localhost\:1521\:DATABASENAME
app.jdbc.username=DATABASENAME
app.jdbc.password=PASSWORD
#mysql
#app.jdbc.driverClassName=com.mysql.jdbc.Driver
#app.jdbc.url=jdbc\:mysql\://localhost/DATABASENAME
#app.jdbc.username=USERNAME
#app.jdbc.password=PASSWORD
Run Code Online (Sandbox Code Playgroud)
就像我说的,取消对 MySQL 的注释它可以正常工作,但不确定 Oracle 设置哪里出了问题。
我得到的错误
Mar 17, 2012 7:15:10 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [spring] in context with path [/parentportal] threw exception [Request processing failed; nested exception is org.springframework.transaction.CannotCreateTransactionException: Could not open JPA EntityManager for transaction; nested exception is javax.persistence.PersistenceException: org.hibernate.exception.GenericJDBCException: Cannot open connection] with root cause
com.mchange.v2.resourcepool.CannotAcquireResourceException: A …Run Code Online (Sandbox Code Playgroud) asp.net ×1
count ×1
ienumerable ×1
java ×1
jdbc ×1
linq ×1
oracle ×1
properties ×1
sorting ×1
spring ×1