sql视图中的groupby返回聚合错误
我正在尝试使用此查询创建一个视图,您可以在此处看到: SELECT dbo.Lines.LineNumber, dbo.Lines.DocumentNumber, dbo.Joints.JointNumber, dbo.Joints.JointSize, dbo.Joints.ShopField, dbo.Joints.WPS, dbo.WeldDetails.StateStep2 AS WeldState, dbo.Welds.WeldNumber, dbo.FitUps.FitUpNumber, MAX(dbo.WeldDetails.Id) AS WeldDetailId, MAX(dbo.FitUpDetails.Id) AS FitupDetailId, dbo.Joints.Id AS JointId, dbo.Ends.Name, dbo.Joints.THK, dbo.FitUpDetails.Sta
0 2023-11-19
编程技术问答社区
创建一个具有多列总数的视图
我需要创建一个显示各种总计的视图. 我有两个表.一个带有用户ID和作业应用程序的状态代码.另一个具有包含布尔值0/1的用户ID和4列.这些列中的每一个都表示工作技能(例如跑步,跳跃,投掷,攀爬).该视图只需要显示每种工作技能的总数,一次是用于正在进行的应用程序,以及完成的应用程序.我很难弄清楚小组并为每种技能选择列. 用户表具有ID(int)和applicationstatus(varchar4). ApplicationStatus是: 0000如果尚未启动 0500在进行进展时 完成后1000. Jobskills表有一个: ID,适用于Usertable的匹配用户ID和4个Jobskill列:Jobskill_1,Jobskill_2,Jobskill_3和Jobskill_4,每个列定义为整数,如果用户具有该技能,则包含1个. 该视图应该显示: 的摘要 有多少用户具有0000的状态 有多少人具有0500的状态 有多少人具有1000的状态
0 2023-11-19
编程技术问答社区
MS版本的MySQL视图与GROUP BY?
我被证明了一个可以从多个表中浏览的易气性,在此处通过Xpection的一个很棒的答案中的一个表格进行分组: create view where selectid = viewRowid 有什么办法在MS中做到这一点?到处都是我读过的"不",但没有页面可以替代. 我不需要计数或任何东西,只有多个表由(?)分组的多个表中的多个列. . 预先感谢! 示例 谢谢您的回应. 对于视图的选择: SELECT dbo.table1.column1 AS table1column1, dbo.table1.column2 AS table1column2, dbo.table2.column1 AS table2column1, dbo.table2.column2 AS table2column2 FROM table1, table2 WHERE table2.column1 = table1.column1 GR
0 2023-11-19
编程技术问答社区
在mysql视图中计算每个产品的运行余额
我在MySQL中有一个视图(vwbalance),用于检查商店中产品当前的库存平衡,它的一种产品非常好. 这是视图 CREATE VIEW vwbalance AS SELECT a.`id` AS `Trans No`, a.`tdate` AS Siku, a.`section` AS `Section`, `g`.`p_name` AS `Product`, a.`cr` AS `In`, a.`dr` AS `Out`, SUM((o.`cr` - o.`dr`)) AS `balance`, a.`status` AS `status` FROM ((`trn_inventory` a LEFT JOIN `mst_product` `g` ON ((`g`.`p_id` = a.`p_id`))) JOIN `trn_inventory` o ON (((a.`tdate
0 2023-11-19
编程技术问答社区
当使用 "group by "等结构时,为什么不能用 "合并 "算法创建MySql视图?
MySQL中有一个奇怪的规则,基本上说您要创建视图,并且要使用诸如GROUP BY, DISTINCT, UNION等的构造等.在视图中,您无法使用ALGORITHM = MERGE>创建视图!阅读更多在这里.. 这基本上意味着,如果您在MySQL中创建视图,并且您在视图中具有类似的群体,如果您运行了以下查询: select * from MyView where foo = 2 然后,mySQL将读取MyView的所有行并将其放在临时表中,然后将其应用于werty子句(foo = 2)到temp表中并返回结果. 问题是,如果您的视图有1000万行,它将获得所有10m行,然后应用Where子句,这是效率低下的. 那么,有人知道这背后的理由是什么吗?我知道MS SQL Server没有这样做,我敢打赌也没有这样做. 解决方案 提出了一个类似的问题 MySQL论坛上关于几年前的工会观点. MySQL开发人员同意,使用UNION在视图上实现MERGE算法应该
0 2023-11-19
编程技术问答社区
使用group_by的简单rails 3.1视图
我在正在工作的网站上有一个菜单,food_items菜单.表中的每个记录还包含类别字段.此类别可以是汉堡,少女饮料,也可以是他们想对食品进行分类的任何其他东西. 我试图显示菜单,其中该类别字段分组的项目.到目前为止,我的尝试: food_item_menus_controller.rb ... def food_list @foods = FoodItem.all @food_list = @foods.group_by { |t| t.category } end views/food_item_menus/index.html.haml = @food_list.group_by (@food_items.category).each do |food_list| %p = food_list.name %ul - for food_items in food_items %li = food_items.
0 2023-11-19
编程技术问答社区
MySQL查询按日期范围分组?
我在MySQL中有一张桌子,显示我每天登录的小时数.我正在尝试构建一个视图,该视图可以使我可以快速按块/天范围来对数据进行分组.最简单的情况是每月都不困难.我可以将日期选择为"%y-%m",然后按该列进行分组. ex: select time_logged, date_format(start_date, '%Y-%m') AS `month_logged` from work_log group by month_logged 如果我只是按月进行分组,则可以正常工作.但是我的问题是,我需要从一个月的13日到下个月的12日(ex:7月13日至8月13日,8月13日至9月12日等). ). 是否有一种简单的方法可以在单个查询/视图中进行类似的操作?我似乎无法提出一个可满足我需求的查询,甚至可以使用不同的日期字段组合. 解决方案 减去13天,然后进行您现在正在做的分组: select time_logged, date_format(sta
2 2023-11-19
编程技术问答社区
在SQL Server视图中有效地将行转换为列
我有3个表:testpackage,testpackageReport,testpackagereportdetail使用此结构: 使用此查询 SELECT dbo.TestPackages.PackageNumber, dbo.TestPackages.Size, dbo.TestPackages.Code, dbo.TestPackageReports.ReportNumber, dbo.TestPackageReportDetails.Step, dbo.TestPackageReportDetails.Status, dbo.TestPackageReports.SubmitDateTime, dbo.TestPackageReportDetails.Id AS ReportDetailId FROM dbo.TestPackages INNER JOIN dbo.TestPacka
0 2023-11-19
编程技术问答社区
CouchDB的视图-过滤和按关键数组分组
问题的描述 我在couchdb视图中有一系列键,[doc.time, doc.address].都不是唯一的. doc.time是Unix时间戳,doc.address是字符串. reduce函数设置为_sum,是每组键的唯一值是一个数字. 我想要的是通过doc.time过滤,然后按doc.address对剩余记录进行分组.如果我将doc.time作为第一个键,无论我指定为group_level什么,我似乎都无法按唯一地址进行分组.如果我将doc.address放在首位,我似乎无法按时间过滤查询. 两个示例 查询:?group_level=1&startkey=[0,1230000000]&endkey=[{},1340000000] 第一个键:doc.address doc.time 之前 问题:不要按时间过滤 代码: rows: [ { key: [ "1126GDuGLQTX3LFHHmjCctdn8WKDjn7QNA" ]
0 2023-11-19
编程技术问答社区
连接两个表并应用分组依据,但更改排序顺序
我有两个表格,事件和版本.活动有许多版本.我想执行内部加入并获得每个事件的最后一个版本. 查询 SELECT * FROM events.event e INNER JOIN events.version v ON (e.version_id = v.id) GROUP BY e.event_id 表事件 id event_id version_id updated 1 1 7 03/08/2018 2 2 8 06/06/2018 3 2 9 02/07/2018 表版本 id name description comments 7 Dinner A fancy dinner Z Comment Z 8 Breakfas
0 2023-11-18
编程技术问答社区
用另一个聚合字段过滤一个聚合的图表
我正在尝试生产类似于 k-top 示例. 除非,我想要: ,而不是过滤出来并显示相同的汇总字段数据 显示一种类型的汇总数据(每日温度的最大值) 和另一个聚合字段(每日温度的平均值) 我已经创建了一个可观察的笔记本在这里在这里 这是为了构建我的测试案例,这就是多远我得到了. { "$schema": "https://vega.github.io/schema/vega-lite/v4.json", "data": {"url": "data/seattle-weather.csv"}, "transform": [ {"timeUnit": "month", "field": "date", "as": "month_date"}, { "joinaggregate": [ {"op": "mean", "field": "precipitation", "as": "mean_precipitation"}
0 2023-11-17
编程技术问答社区
用Linq的动态键对数据进行分组
我正在使用system.linq.dynamic将对象列表分组为具有两个代码的对象列表的新分组列表: Dim lstGroupedFilterNew = lstDataSource _ .GroupBy("New (Unit_ID, Itinerary_ID Driver_ID)", "grp") _ .[Select](Function(grp) grp.ToList()).ToList() 但是我得到错误 lambda表达式无法转换为"字符串",因为"字符串"不是我的选择子句上的代表类型. 解决方案 我选择不使用linq.dynamic,我发现了一种验证条件以动态添加键在我的groupby子句中的方法,结果是: Dim lstGroupedFilter = (From t In lstDataSource Group t By __groupByKey1__ = _
6 2023-11-15
编程技术问答社区
使用复杂对象的多个键对LINQ查询进行强输入
我无法弄清楚如何定义LINQ分组查询中使用的对象以使其强烈类型. 我已经构建了一个使用两个复杂对象作为键的分组查询.查询有效,但我希望能够声明返回对象类型. 我有一个复杂的类型... Public Class Student Public Name As IndividualsName Public EnrolledSchool As School Public BirthHospital As BirthPlace Public Grade As Integer Public Sub New(ByVal name As IndividualsName, ByVal enrolledSchool As School, ByVal birthHospital As BirthPlace, ByVal grade As Integer) Me.Name = name Me.EnrolledSchool
4 2023-11-15
编程技术问答社区
分组和连接一个联合的表。遇到问题
前几天我问了一个问题,并收到了一些非常有用的信息,这使我能够实现这一目标.但是,我现在在使用Union/Group By从表中获取数据时遇到困难. 以下代码是我尝试的.但是我似乎找不到将其组成的方法. 它是这样的. Jono - 3 - 1 Jono - 1 - 1 当我需要这样显示 时 Jono - 4 - 1 我才刚刚开始,如果有更好的方法执行此代码,请告诉我:) SELECT [Player],[Played],[Games Won] FROM (SELECT p1.displayname AS [Player], COUNT(p1.displayname) AS [Played], SUM(IIF(m.player2=m.winner, 1, 0)) AS [Games Won] FROM ((tblMatch m) INNER JOIN tblPlayers p1 ON m.player2=p1.id) WHERE m.season = 3
0 2023-11-14
编程技术问答社区
VB.NET GroupBy LINQ语句
我有一段时间让这个工作.我有一个称为Items的List(Of MyItem),它们上有OrderId属性.从这些项目中,我想创建一个Order s的列表.有些项目将具有相同的OrderId,因此我想尝试按OrderId进行分组.然后,我想按日期进行排序.这是我到目前为止所拥有的: Public ReadOnly Property AllOrders() As List(Of Order) Get Return Items.Select(Function(i As MyItem) New Order(i.OrderID)) _ .GroupBy(Function(o As Order) New Order(o.OrderID)) _ .OrderBy(Function(o As Order) o.DateOrdered).ToList End Get End Property 当然,这不会编译,我会收到错误:
2 2023-11-14
编程技术问答社区
VB.NET LINQ按多列分组
我有以下LINQ代码,该代码具有语法错误,我不知道如何修复 Dim query = From row In mainDatatable.AsEnumerable 'the syntax Error is in the following line Group row By new { row.Field(Of Double)("cprice") , row.Field(Of Integer)("ccategory")} Into ProductGroups '************************** Dim grpNumber = 1 For Each grp In query For Each row In grp.ProductGroups row
0 2023-11-14
编程技术问答社区
LINQ VB如何检查对象列表中是否有重复的内容
我有一个对象列表,每个对象列表具有2个相关属性:" ID"和"名称".让我们调用列表" lstoutcomes". 我需要检查重复项(含义object1.ID = object2.ID等)的列表,并在至少有一个重复时设置标志(valid = false或其他).另外,最好向用户发送一条消息,以提及对象失败时的"名称". 我确定我需要使用Group By操作员来做到这一点,但是我不习惯在Linq中这样做,而且外面的示例只是没有帮助. 本文似乎与我需要的东西接近不完全,它在C#. 中 这是一个起始刺伤... Dim duplist = _ (From o As objectType In lstOutcomes _ Group o By o.ID Into g = Group _ Let dups = g.Where(Function(h) g.Count > 1) _ Order By dups Descending).ToArray if
4 2023-11-14
编程技术问答社区
在VB.Net中用多个属性进行LINQ分组
我花了很多时间在这个问题上.我可以通过Linq查询(在一个属性上)进行简单的小组,但是对于多个字段,我有点卡住... 这是我想做的事情的linqpad示例: dim lFinal={new with {.Year=2010, .Month=6, .Value1=0, .Value2=0}, new with {.Year=2010, .Month=6, .Value1=2, .Value2=1}, new with {.Year=2010, .Month=7, .Value1=3, .Value2=4}, new with {.Year=2010, .Month=8, .Value1=0, .Value2=1}, new with {.Year=2011, .Month=1, .Value1=2, .Value2=2}, new with {.Year=2011
0 2023-11-14
编程技术问答社区
DataTable:通过LINQ或LAMBDA进行动态Group By表达
我有一个数据表,我想在其中对未指定的字段进行分组.碰巧的是,用户可以选择他想分组的字段. 所以,实际上,我在列表中推出选择.在此选择上,我必须对数据表进行分组. 想象一下此代码(VB或C#相同): public void groupFieldsFN(DataTable dt, List groupFields){ var grpQuery = dt.AsEnumerable().GroupBy(r => [***groupFields***]); } 我该怎么办?在这种情况下,我如何表达groupby表达. 显然,linq或lambda解决方案是相同的. 事先感谢您的帮助. _ 解决方案 Aleks Andreev的响应有效!非常感谢. 解决方案 您可以在GroupBy呼叫中使用自定义平等比较.定义比较: public class CustomEqualityComparer : IEqualit
2 2023-11-14
编程技术问答社区
带有GROUP BY和Count(*)的LINQ查询进入匿名类型
我正在尝试使用linq查询来确定我拥有的每种特定对象类型中的多少,并将这些值记录到匿名类型中. 假设我有一些看起来像这样的数据(实际上有揭露此属性的对象,但它可以工作相同) GroupId 1 1 2 2 2 3 我知道如何在SQL中格式化我的查询.会这样: SELECT grp = GroupId, cnt = COUNT(*) FROM myTable GROUP BY GroupId 在这种情况下,输出将像GroupID Count 1 2 2 3 3 1 我该如何使用vb.net中的linq做同样的事情 Dim groupCounts = From person In data Group By person.GroupId Select new {group = person.GroupId, count = count(*)} 那不是完全正确的,但我认为它很近.
0 2023-11-14
编程技术问答社区