java行轉列的例子(java實現動態行轉列)

  • 1、java行列值的互換?
  • 2、問一個java列轉行的實現邏輯
  • 3、用java代碼,實現m行n列矩陣的轉換,即橫向變為縱向,縱向變為橫向(具體代碼) 急~~~~~~~~
  • 4、求高手解決 java接收從oracle資料庫檢索出的結果集如何把行列變換
  • 5、java 數組行列轉換
  • 6、sql 用select語句進行行轉列

二維數組的行列值互換,又叫矩陣的轉置,數組a轉置後應該是1,4;2,5;3,6;

完整的矩陣轉置的Java程序如下

按照你的要求輸出1,2;4,5;3,6;的程序

c:forEach var=”book” items=”${要顯示的數據集合}” varStatus=”j”

c:choose

c:when test=”${j.index%4==0}”

trtd${顯示數據}/td

/c:when

c:otherwise

c:choose

c:when test=”${j.index%4==3}”

td${顯示數據}/td/tr

/c:when

c:otherwise

td${顯示數據}/td

/c:otherwise

/c:choose

/c:otherwise

/c:choose

/c:forEach

用到jstl

遍歷時候控制方向就可以了,例如二維數組a[][]=[[a,b,c,d,e],[f,g,h,i,j],[k,l,m,n,o]]

for(int i=0;5;i++){

for(int j =0;j3;j++){

System.out.println(a[j][i]);

}

}

這個樣子 就轉過來了 要存的話,就頂一個數組 把結果存在裡面就好了

直接一條SQL 可以搞定的 為什麼還要放到 java 裡面?

select decode(date,’201301′,date,null) as one,decode(date,’201302′,date,null) as two,decode(date,’201303′,date,null) as three from table

unin all

select decode(date,’201301′,name,null) as one,decode(date,’201302′,name,null) as two,decode(date,’201301′,name,null) as three from table

unin all

select decode(date,’201301′,dizhi,null) as one,decode(date,’201302′,dizhi,null) as two,decode(date,’201303′,dizhi,null) as three from table

如果就這幾條數據建議用我這種 SQL搞定。

如果很多跳數據 。還是java裡面搞比較好。

如果是在頁面上顯示 最好寫了

就直接 循環td表格

listtddate/td/list

listtdname/td/list

listtddizhi/td/list

你這個的程序,只能成功運行 n*n的情況,也就是行數和列數相等的二維數組才能成功。

如果 n*m 也就是行數和列數不相同的情況就可能出錯。

因為 n*m 是沒有對角線的,也就是 i = j不一定出現在對角線上,所以出現了你上面的問題。

我們來看看一個小列子。有一個遊戲玩家充值表(僅僅為了說明,舉的一個小例子),

CREATE TABLE [Inpours]

(

   [ID]                INT IDENTITY(1,1), 

   [UserName]          NVARCHAR(20),  –遊戲玩家

    [CreateTime]        DATETIME,      –充值時間    

    [PayType]           NVARCHAR(20),  –充值類型    

    [Money]             DECIMAL,       –充值金額

    [IsSuccess]         BIT,           –是否成功 1表示成功, 0表示失敗

    CONSTRAINT [PK_Inpours_ID] PRIMARY KEY(ID)

)

 

INSERT INTO Inpours SELECT ‘張三’, ‘2010-05-01’, ‘支付寶’, 50, 1

 

INSERT INTO Inpours SELECT ‘張三’, ‘2010-06-14’, ‘支付寶’, 50, 1

 

INSERT INTO Inpours SELECT ‘張三’, ‘2010-06-14’, ‘手機簡訊’, 100, 1

 

INSERT INTO Inpours SELECT ‘李四’, ‘2010-06-14’, ‘手機簡訊’, 100, 1

 

INSERT INTO Inpours SELECT ‘李四’, ‘2010-07-14’, ‘支付寶’, 100, 1

 

INSERT INTO Inpours SELECT ‘王五’, ‘2010-07-14’, ‘工商銀行卡’, 100, 1

 

INSERT INTO Inpours SELECT ‘趙六’, ‘2010-07-14’, ‘建設銀行卡’, 100, 1

下面來了一個統計數據的需求,要求按日期、支付方式來統計充值金額信息。這也是一個典型的行轉列的例子。我們可以通過下面的腳本來達到目的

SELECT  

        CreateTime, [支付寶] , [手機簡訊], 

        [工商銀行卡] , [建設銀行卡] 

FROM 

    SELECT CONVERT(VARCHAR(10), CreateTime, 120) AS CreateTime,PayType, Money 

    FROM Inpours 

) P 

PIVOT ( 

            SUM(Money) 

            FOR PayType IN 

            ([支付寶], [手機簡訊], [工商銀行卡], [建設銀行卡]) 

      ) AS T 

ORDER BY CreateTime

原創文章,作者:Z3X0C,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/126289.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
Z3X0C的頭像Z3X0C
上一篇 2024-10-03 23:07
下一篇 2024-10-03 23:07

相關推薦

  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • QML 動態載入實踐

    探討 QML 框架下動態載入實現的方法和技巧。 一、實現動態載入的方法 QML 支持從 JavaScript 中動態指定需要載入的 QML 組件,並放置到運行時指定的位置。這種技術…

    編程 2025-04-29
  • Java Bean載入過程

    Java Bean載入過程涉及到類載入器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean載入的過程。 一、類載入器 類載入器是Java虛擬機…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發布。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • Java判斷字元串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字元串中是否存在多個指定字元: 一、字元串遍歷 字元串是Java編程中非常重要的一種數據類型。要判斷字元串中是否存在多個指定字元…

    編程 2025-04-29
  • VSCode為什麼無法運行Java

    解答:VSCode無法運行Java是因為默認情況下,VSCode並沒有集成Java運行環境,需要手動添加Java運行環境或安裝相關插件才能實現Java代碼的編寫、調試和運行。 一、…

    編程 2025-04-29
  • Java任務下發回滾系統的設計與實現

    本文將介紹一個Java任務下發回滾系統的設計與實現。該系統可以用於執行複雜的任務,包括可回滾的任務,及時恢復任務失敗前的狀態。系統使用Java語言進行開發,可以支持多種類型的任務。…

    編程 2025-04-29

發表回復

登錄後才能評論