SQL Server :: Order When Group By Is Used?
Oct 15, 2010I have this statement:
[Code]....
The problem is, it is not ordered correctly. How can I order it correctly with earliest datetime on top?
I have this statement:
[Code]....
The problem is, it is not ordered correctly. How can I order it correctly with earliest datetime on top?
How do I translate the following query into LINQ to SQL?
[Code]....
I'm using a linq group by query (with two grouping parameters) and would like to use the resulting data in a nested repeater.
var dateGroups = from row in data.AsEnumerable()
group row by new { StartDate = row["StartDate"], EndDate = row["EndDate"] };
"data" is a DataTable from an SqlDataAdapter-filled DataSet. "dateGroups" is used in the parent repeater, and I can access the group keys using Eval("key.StartDate") and Eval("key.EndDate").
Since dateGroups actually contains all the data rows grouped neatly by Start/End date, I'd like to access those rows to display the data in a child repeater. To what would I set the child repeater's DataSource? I have tried every expression in markup I could think of; I think the problem is that I'm trying to access an anonymous member (and I don't know how.) In case it doesn't turn out to be obvious, what would be the expression to access the elements in each iteration of the child repeater? Is there an expression that would let me set the DataSource in the markup, or will it have to be in the codebehind on some event in the parent repeater?
Stack-Overflow :3 I've got a kind of hard-case question.
So I'll try clearly explain my idea with my poor english :/ need select to DataTable SOME values from ???_**GetDisplayData **procedure for each day of previos month (GROUP IT) where group rules for different columns is different
I need to select some values in stored procedure from other stored procedure like this :
SELECT X FROM Y_Procedure(@ProcedureParameters)Also I need to select from dynamic SQL Procedure like
Y_Procedure=@Y+'_Procedure'
SELECT X FROM Y_Procedure(@ProcedureParameters)
Also I need to load it to DataTable :-/INSERT INTO @Report (CellHorizontal, CellVertical, CellValue) --to TABLE
SELECT Date,X2,X3 FROM Y_GetDisplayData(@Param)
SET NOCOUNT OFF;
SELECT *
FROM @Report
GetDisplayData works as select with parameters and that doesn't returns SQL DataTable
And there is no way to recode GetDisplayData's procedures, it's just constant procedures for me.Finally I need to Group nodes from this table
INSERT INTO @Report (CellHorizontal, CellVertical, CellValue)
SELECT T1.Date,
IF ((Select grouptype...)=1) T1.X2 + T2.X2
ELSE IF ((Select grouptype...)=2) AVG(T1.X2,T2.X2),
IF ((Select grouptype...)=1) T1.X3 + T2.X3
ELSE IF ((Select grouptype...)=2) AVG(T1.X3,T2.X3),
(SELECT T2.Date,X2,X3 FROM Y_GetDisplayData(@Param) T2
WHERE T2.Date>T1.Date AND T2.Date>=T1.Date)
FROM Y_GetDisplayData(@Param) T1
GROUP BY EVERY DAY ???--and here is epic fail
I can make all stuff on asp server :And C# allows me to use something like SelectCommand = IzmProc + "_GetDisplayData"; And then I will work (select special data) with DataTables on ASP.NET Server but it's better to make all on SQL ... But looking like it's just unrealizable on SQL >_<
I gonna think about C# realization,but my code is very weird , got errors and doesn't works >_<
public static DataTable GetReport(string Param)
{
System.Configuration.ConnectionStringSettings connSetting = ConfigurationManager.ConnectionStrings["FlowServerConnectionString"]; [code].....
I have 5 hard corded texboxes in a page in a sequence with sequence Number . Now i want to add re-order /re-arraning functionaly .. but i can't use ajax reorder list because i have 5 hard corded texbox. how can i maintain the order in Insert/Update cases. And also suggest me control that i can use, another than ajax re-order list. coz i not using any list items i have hard corded items on the page.
View 1 RepliesThe AjaxToolkit has a ReorderList. I'm searching for a jQuery solution that does the same and found this page. I would like to change the order of divs (vertically) and upload the new order to the database (ajax).
View 2 RepliesI have two table Order and Order Detail.
What i need is i need to bind last 10 Order in Gridview/details view with paging, and the same order detail also fetch from database and shown in another gridview.. if user click any oderNo in first Gridview/DetailView then i need to show Respective order detail in anther gridview..
without postback coz we already fetch 10 order with orderdetails from the database..and if user click next 10 orderNo using paging then again we need to load 10 orderNo with respective orderdeatils from database like this going on....as well as let me know how to take print of particular oder and order detail....?
From my testing, it appears that the order of parameters for the UpdateParameters must match both the order of the bound fields on the form (asp:Formview), and the order of the parameters in the UpdateCommand. Is that correct? If so, why do the parameters have names if all that matters is the order? I tried both asp:ControlParameter and asp:Parameter. Maybe the more relevant question is why aren't the names used instead of the order, particularly for the form order?
So, given I display the Identity field (CID), and need that for the update, I cannot get the update to work without including it in the UpdateCommand. Of course, since it is an autonumber field in Access, I cannot actually set it. So, I had to add another field to the db (lngUpdateCID) that I could set. That can't be how it has to be done, but I could not figure out another way to do this.
The relevant code is below:
[Code]....
I have a query with group-by clause. I want to use it in recusionCTE.How is it possible?I want to know the totalamount for each fname done through this query:select top 10 fname,SUM(totamt) as 'Total Amount' from tables_list group by fname order by 'Total Amount' descBut when any person logins he must be able to see this list for his own hierarchy down the line including himself.
View 2 Repliesselect a.* from (select vip,date,amount,dense_rank() over(order by vip,date) as 'sn' from income ) a where sn = 1
vip date amount sn
0001 2010/1/1 50 1
0001 2010/1/1 10 1
0001 2010/1/6 80 2
0001 2010/1/7 90 3
0002 2010/1/2 40 4
0002 2010/1/5 10 5
0002 2010/1/5 80 5
0002 2010/1/7 90 6
would it possible give it row number for each group? (group by vip) like this
vip date amount sn
0001 2010/1/1 50 1
0001 2010/1/1 10 1
0001 2010/1/6 80 2
0001 2010/1/7 90 3
0002 2010/1/2 40 1
0002 2010/1/5 10 2
0002 2010/1/5 80 2
0002 2010/1/7 90 3
using .NET 4 and SQL Server 2008R2
I have a table of persons that used for different purposes in a database. One of those purposes is to present a list of organization contacts to users. I use a gridview and stored procedures to get the data.
On one page listing all organization contacts the client requires the order of the persons to be presented as President first, Vice President second, Secretary third, etc. I accomplished this requirement by simply entering the persons in the table in the order in which they were required to be displayed on that particular page.
But then on another contacts page the client requires only a subset of the persons in the table to be displayed, moreover, the order of the persons is to be presented as Secretary first, Office Administrator second, President third and Vice President fourth.
I have no idea how to pull the data into my gridview in the order that's required for the 2nd page. I thought about adding a column in the table that I could use to store a numeric value and then order by that value in the procedure that pulls the data for the second contact page, but this somehow seems wrong.
I am using SQL Server 2005. I have below table:
CompanyNo CompanyName Product
--------------------------------------------------------
100 C1 P11
100 C1 P12
100 C1 P13
200 C2 P21
200 C2 P22
etc...
And I want my sproc returns like...
CompanyData
------------------
100 - C1 - P11, P12, P13
200 - C2 - P21, P22
etc...
[Code]....
which is giving me
And i tried
select * from @jax
group by rep
and it did not group them. How would i bring the sum ly up with the sum? so it shows 1-10 cust,sum,sumly
How can I order this by count? so if it appears above and below the union statement, I want it on top
[Code]....
I have a column TimePeriod with values in mmm-yyyy format. ex. Jan-2010, Apr-2010,Nov-2010, Dec-2010, Jan-2011
How can I wirte query so result will be in order by Jan-2010, Feb-2010,..... Jan-2011.
I tried to cast, convert but i couldnt figured it out. I did googling... can't find solution.
the Document Rank column is numeric and contain the values are 2,1,0,4,0,5,3,0,6
we need to get the document rank with the following orders 1,2,3,4,5,6,0,0 how can i do this?
I am having trouble with my ORDY By Case Statement. It doesn't seem to be ording correctly. To see it in action, please go to [URL] and click on "latin" and it should change the sort order and when you click back on "common" it should change it back but it doesn't. Here's my code:
[Code]....
can i use aggregate function in group by clause like below mentioned query (which marked in red color)
[code]....
can i use aggregate function in group by clause like below mentioned query (which marked in red color)
[code]....
I want to develop rotation logic for my company's software by using SQL Query. I will explain you what exactly I want.
As mentioned in above figure (LEFT SIDE) I have 8 grades in alphabetical order A, B, C, D, E, F, G and Z. There are different companies belong with different grades respectively. This is my database table situation. And I want an output like (RIGHT SIDE) figure in my grid view using SQL Query.
The grade position is skipped if there is no any raw or company name exists. And newly entered Company is automatically placed in that respective skipped grade position.
I have attached an sql script for your kind help to make such useful query.
I have a procedure that is used on a search page.. im trying to provide a highlevel resultset which you can then click on a record to view all records associated with it.
My expectation is to return 5 columns.. the ID and Date is what i want to group on.. so that if there are 10 records for ID=5 and Date=10/25/2010 then in my results i would have 1 record. Once im done with the page, you can then click on that line in the gridview to view the 10 records for that id. Does that make sense?
I have the following query, but for the criteria i entered, im getting back 3 records instead of just 2 since there is a differnet reboot count, BUT i really still just need overall data. so it should be only 1 record and seen below is what is returned and what is expected..
[Code]....
Here are the 3 records..
Currently returned
id Event Date Mount Errors Reboot Count J1939
225 11/01/2010 0 11 0
225 11/01/2010 0 11 0
225 11/01/2010 0 12 0
Expected returned
id Event Date Mount Errors Reboot Count J1939
225 11/01/2010 0 34 0
using sql server 2005. I have table setup as follows
Table: Orders
Col: CustomerID
Col: OrderID
Col: OrderDate
so a given Customer can have many orders in this table however I only want to return the last order (using OrderDate) for each customer. how do you do this? I assume that I need to group by customerID and then use max on the OrderDate but not sure of the exact syntax.
I want to update the database as shown below. I want to sort the values from col1,2,3,4 in numeric order and save the sorted values back to the database.
Now in database table
IdentityInteger Col1 Col2 Col3 Col4
1 4 2 1 3
Wanted results in database table
IdentityInteger Col1 Col2 Col3 Col4
1 1 2 3 4
Below the is working fine but I am not getting in month order.
SELECT SUM(TaxableAmt) [NSV], (UPPER(CONVERT(VARCHAR,LEFT(DATENAME(MM,invoicedate),3)))+'/'+ CONVERT(VARCHAR,RIGHT(DATENAME(YYYY,invoicedate),2))) AS MONTHYEAR
FROM SALESDATA where (invoicedate >='4-1-2009' and invoicedate <='4-30-2010')
GROUP BY (UPPER(CONVERT(VARCHAR,LEFT(DATENAME(MM,invoicedate),3)))+'/'+
[Code]....
i have a table which records visits to a page, what i want to do is get a count of the last 24 hours and group the visits by the hour.
This is my table structure;
ID, ChannelNewsID, AddDate
This is what i did so far however it gives me both past and future records where as i want 24 hours previously starting from when the query was run. Here is what my query looks like;
[Code]....