@@ -971,7 +971,7 @@ func (statement *Statement) genGetSQL(bean interface{}) (string, []interface{},
971
971
return "" , nil , err
972
972
}
973
973
974
- sqlStr , err := statement .genSelectSQL (columnStr , condSQL , true )
974
+ sqlStr , err := statement .genSelectSQL (columnStr , condSQL , true , true )
975
975
if err != nil {
976
976
return "" , nil , err
977
977
}
@@ -1001,7 +1001,7 @@ func (statement *Statement) genCountSQL(beans ...interface{}) (string, []interfa
1001
1001
selectSQL = "count(*)"
1002
1002
}
1003
1003
}
1004
- sqlStr , err := statement .genSelectSQL (selectSQL , condSQL , false )
1004
+ sqlStr , err := statement .genSelectSQL (selectSQL , condSQL , false , false )
1005
1005
if err != nil {
1006
1006
return "" , nil , err
1007
1007
}
@@ -1026,15 +1026,15 @@ func (statement *Statement) genSumSQL(bean interface{}, columns ...string) (stri
1026
1026
return "" , nil , err
1027
1027
}
1028
1028
1029
- sqlStr , err := statement .genSelectSQL (sumSelect , condSQL , true )
1029
+ sqlStr , err := statement .genSelectSQL (sumSelect , condSQL , true , true )
1030
1030
if err != nil {
1031
1031
return "" , nil , err
1032
1032
}
1033
1033
1034
1034
return sqlStr , append (statement .joinArgs , condArgs ... ), nil
1035
1035
}
1036
1036
1037
- func (statement * Statement ) genSelectSQL (columnStr , condSQL string , needLimit bool ) (a string , err error ) {
1037
+ func (statement * Statement ) genSelectSQL (columnStr , condSQL string , needLimit , needOrderBy bool ) (a string , err error ) {
1038
1038
var distinct string
1039
1039
if statement .IsDistinct && ! strings .HasPrefix (columnStr , "count" ) {
1040
1040
distinct = "DISTINCT "
@@ -1101,9 +1101,10 @@ func (statement *Statement) genSelectSQL(columnStr, condSQL string, needLimit bo
1101
1101
}
1102
1102
1103
1103
var orderStr string
1104
- if len (statement .OrderStr ) > 0 {
1104
+ if needOrderBy && len (statement .OrderStr ) > 0 {
1105
1105
orderStr = " ORDER BY " + statement .OrderStr
1106
1106
}
1107
+
1107
1108
var groupStr string
1108
1109
if len (statement .GroupByStr ) > 0 {
1109
1110
groupStr = " GROUP BY " + statement .GroupByStr
@@ -1129,7 +1130,7 @@ func (statement *Statement) genSelectSQL(columnStr, condSQL string, needLimit bo
1129
1130
if statement .HavingStr != "" {
1130
1131
a = fmt .Sprintf ("%v %v" , a , statement .HavingStr )
1131
1132
}
1132
- if statement .OrderStr != "" {
1133
+ if needOrderBy && statement .OrderStr != "" {
1133
1134
a = fmt .Sprintf ("%v ORDER BY %v" , a , statement .OrderStr )
1134
1135
}
1135
1136
if needLimit {
0 commit comments